Commit b8502cbaeeb843f579221664289f3ff93be3df67

Authored by Christian Höltje
1 parent 58a1ed6d

Fixed UsersProject.in_projects

I discovered while trying to use UserTeam#remove_member() that
UsersProject.in_projects was broken.  So I wrote test cases to test what
I was trying to do and fixed the underlying problem.
app/models/users_project.rb
... ... @@ -38,7 +38,7 @@ class UsersProject < ActiveRecord::Base
38 38 scope :masters, -> { where(project_access: MASTER) }
39 39  
40 40 scope :in_project, ->(project) { where(project_id: project.id) }
41   - scope :in_projects, ->(projects) { where(project_id: project_ids) }
  41 + scope :in_projects, ->(projects) { where(project_id: projects.map { |p| p.id }) }
42 42 scope :with_user, ->(user) { where(user_id: user.id) }
43 43  
44 44 class << self
... ...
spec/models/user_team_spec.rb
... ... @@ -14,5 +14,24 @@
14 14 require 'spec_helper'
15 15  
16 16 describe UserTeam do
17   - pending "add some examples to (or delete) #{__FILE__}"
  17 + let(:team) { FactoryGirl.create :user_team }
  18 +
  19 + context ".add_member" do
  20 + let(:user) { FactoryGirl.create :user }
  21 +
  22 + it "should work" do
  23 + team.add_member(user, UsersProject::DEVELOPER, false)
  24 + team.members.should include(user)
  25 + end
  26 + end
  27 +
  28 + context ".remove_member" do
  29 + let(:user) { FactoryGirl.create :user }
  30 + before { team.add_member(user, UsersProject::DEVELOPER, false) }
  31 +
  32 + it "should work" do
  33 + team.remove_member(user)
  34 + team.members.should_not include(user)
  35 + end
  36 + end
18 37 end
... ...