Permalink
Browse files

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.
  • Loading branch information...
Christian Höltje
Christian Höltje committed Mar 26, 2013
1 parent 58a1ed6 commit b8502cbaeeb843f579221664289f3ff93be3df67
Showing with 21 additions and 2 deletions.
  1. +1 −1 app/models/users_project.rb
  2. +20 −1 spec/models/user_team_spec.rb
@@ -38,7 +38,7 @@ class UsersProject < ActiveRecord::Base
scope :masters, -> { where(project_access: MASTER) }
scope :in_project, ->(project) { where(project_id: project.id) }
- scope :in_projects, ->(projects) { where(project_id: project_ids) }
+ scope :in_projects, ->(projects) { where(project_id: projects.map { |p| p.id }) }
scope :with_user, ->(user) { where(user_id: user.id) }
class << self
@@ -14,5 +14,24 @@
require 'spec_helper'
describe UserTeam do
- pending "add some examples to (or delete) #{__FILE__}"
+ let(:team) { FactoryGirl.create :user_team }
+
+ context ".add_member" do
+ let(:user) { FactoryGirl.create :user }
+
+ it "should work" do
+ team.add_member(user, UsersProject::DEVELOPER, false)
+ team.members.should include(user)
+ end
+ end
+
+ context ".remove_member" do
+ let(:user) { FactoryGirl.create :user }
+ before { team.add_member(user, UsersProject::DEVELOPER, false) }
+
+ it "should work" do
+ team.remove_member(user)
+ team.members.should_not include(user)
+ end
+ end
end

0 comments on commit b8502cb

Please sign in to comment.