summaryrefslogtreecommitdiff
path: root/spec/models/members_spec.rb
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/models/members_spec.rb
parenta8b462bbfe3647574e17c483aad27281c2adc5f2 (diff)
downloadgitlab-ce-0013ea5130494326f37fb1d6988a369fa2c91d22.tar.gz
Remove duplication between Group and ProjectMember.
Diffstat (limited to 'spec/models/members_spec.rb')
-rw-r--r--spec/models/members_spec.rb116
1 files changed, 0 insertions, 116 deletions
diff --git a/spec/models/members_spec.rb b/spec/models/members_spec.rb
deleted file mode 100644
index c3e47ab7e9a..00000000000
--- a/spec/models/members_spec.rb
+++ /dev/null
@@ -1,116 +0,0 @@
-require 'spec_helper'
-
-describe Member do
- describe "Associations" do
- it { is_expected.to belong_to(:user) }
- end
-
- describe "Validation" do
- subject { Member.new(access_level: Member::GUEST) }
-
- it { is_expected.to validate_presence_of(:user) }
- it { is_expected.to validate_presence_of(:source) }
- it { is_expected.to validate_inclusion_of(:access_level).in_array(Gitlab::Access.values) }
-
- context "when an invite email is provided" do
-
- let(:member) { build(:project_member, invite_email: "user@example.com", user: nil) }
-
- it "doesn't require a user" do
- expect(member).to be_valid
- end
-
- it "requires a valid invite email" do
- member.invite_email = "nope"
-
- expect(member).not_to be_valid
- end
-
- it "requires a unique invite email scoped to this source" do
- create(:project_member, source: member.source, invite_email: member.invite_email)
-
- expect(member).not_to be_valid
- end
-
- it "is valid otherwise" do
- expect(member).to be_valid
- end
- end
-
- context "when an invite email is not provided" do
-
- let(:member) { build(:project_member) }
-
- it "requires a user" do
- member.user = nil
-
- expect(member).not_to be_valid
- end
-
- it "is valid otherwise" do
- expect(member).to be_valid
- end
- end
- end
-
- describe "Delegate methods" do
- it { is_expected.to respond_to(:user_name) }
- it { is_expected.to respond_to(:user_email) }
- end
-
- describe "#accept_invite!" do
-
- let!(:member) { create(:project_member, invite_email: "user@example.com", user: nil) }
- let(:user) { create(:user) }
-
- it "resets the invite token" do
- member.accept_invite!(user)
-
- expect(member.invite_token).to be_nil
- end
-
- it "sets the invite accepted timestamp" do
- member.accept_invite!(user)
-
- expect(member.invite_accepted_at).not_to be_nil
- end
-
- it "sets the user" do
- member.accept_invite!(user)
-
- expect(member.user).to eq(user)
- end
-
- it "calls #after_accept_invite" do
- expect(member).to receive(:after_accept_invite)
-
- member.accept_invite!(user)
- end
- end
-
- describe "#decline_invite!" do
-
- let!(:member) { create(:project_member, invite_email: "user@example.com", user: nil) }
-
- it "destroys the member" do
- member.decline_invite!
-
- expect(member).to be_destroyed
- end
-
- it "calls #after_decline_invite" do
- expect(member).to receive(:after_decline_invite)
-
- member.decline_invite!
- end
- end
-
- describe "#generate_invite_token" do
-
- let!(:member) { create(:project_member, invite_email: "user@example.com", user: nil) }
-
- it "sets the invite token" do
- expect { member.generate_invite_token }.to change { member.invite_token}
- end
- end
-end