summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorDouwe Maan <douwe@gitlab.com>2015-04-14 12:33:27 +0200
committerDouwe Maan <douwe@gitlab.com>2015-04-14 12:41:19 +0200
commit0013ea5130494326f37fb1d6988a369fa2c91d22 (patch)
tree78f8e3313ddb3d25be139673e0e0b08b1f5366e3 /spec
parenta8b462bbfe3647574e17c483aad27281c2adc5f2 (diff)
downloadgitlab-ce-0013ea5130494326f37fb1d6988a369fa2c91d22.tar.gz
Remove duplication between Group and ProjectMember.
Diffstat (limited to 'spec')
-rw-r--r--spec/models/member_spec.rb (renamed from spec/models/members_spec.rb)39
1 files changed, 37 insertions, 2 deletions
diff --git a/spec/models/members_spec.rb b/spec/models/member_spec.rb
index c3e47ab7e9a..a27931cd4e4 100644
--- a/spec/models/members_spec.rb
+++ b/spec/models/member_spec.rb
@@ -58,6 +58,43 @@ describe Member do
it { is_expected.to respond_to(:user_email) }
end
+ describe ".add_user" do
+ let!(:user) { create(:user) }
+ let(:project) { create(:project) }
+
+ context "when called with a user id" do
+ it "adds the user as a member" do
+ Member.add_user(project.project_members, user.id, ProjectMember::MASTER)
+
+ expect(project.users).to include(user)
+ end
+ end
+
+ context "when called with a user object" do
+ it "adds the user as a member" do
+ Member.add_user(project.project_members, user, ProjectMember::MASTER)
+
+ expect(project.users).to include(user)
+ end
+ end
+
+ context "when called with a known user email" do
+ it "adds the user as a member" do
+ Member.add_user(project.project_members, user.email, ProjectMember::MASTER)
+
+ expect(project.users).to include(user)
+ end
+ end
+
+ context "when called with an unknown user email" do
+ it "adds a member invite" do
+ Member.add_user(project.project_members, "user@example.com", ProjectMember::MASTER)
+
+ expect(project.project_members.invite.pluck(:invite_email)).to include("user@example.com")
+ end
+ end
+ end
+
describe "#accept_invite!" do
let!(:member) { create(:project_member, invite_email: "user@example.com", user: nil) }
@@ -89,7 +126,6 @@ describe Member do
end
describe "#decline_invite!" do
-
let!(:member) { create(:project_member, invite_email: "user@example.com", user: nil) }
it "destroys the member" do
@@ -106,7 +142,6 @@ describe Member do
end
describe "#generate_invite_token" do
-
let!(:member) { create(:project_member, invite_email: "user@example.com", user: nil) }
it "sets the invite token" do