Commit b8502cbaeeb843f579221664289f3ff93be3df67
1 parent
58a1ed6d
Exists in
master
and in
4 other branches
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.
Showing
2 changed files
with
21 additions
and
2 deletions
Show diff stats
app/models/users_project.rb
@@ -38,7 +38,7 @@ class UsersProject < ActiveRecord::Base | @@ -38,7 +38,7 @@ class UsersProject < ActiveRecord::Base | ||
38 | scope :masters, -> { where(project_access: MASTER) } | 38 | scope :masters, -> { where(project_access: MASTER) } |
39 | 39 | ||
40 | scope :in_project, ->(project) { where(project_id: project.id) } | 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 | scope :with_user, ->(user) { where(user_id: user.id) } | 42 | scope :with_user, ->(user) { where(user_id: user.id) } |
43 | 43 | ||
44 | class << self | 44 | class << self |
spec/models/user_team_spec.rb
@@ -14,5 +14,24 @@ | @@ -14,5 +14,24 @@ | ||
14 | require 'spec_helper' | 14 | require 'spec_helper' |
15 | 15 | ||
16 | describe UserTeam do | 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 | end | 37 | end |