diff options
author | Douwe Maan <douwe@gitlab.com> | 2015-04-14 12:33:27 +0200 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2015-04-14 12:41:19 +0200 |
commit | 0013ea5130494326f37fb1d6988a369fa2c91d22 (patch) | |
tree | 78f8e3313ddb3d25be139673e0e0b08b1f5366e3 /spec | |
parent | a8b462bbfe3647574e17c483aad27281c2adc5f2 (diff) | |
download | gitlab-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 |