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 | 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 | ... | ... |