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/models/members_spec.rb | |
parent | a8b462bbfe3647574e17c483aad27281c2adc5f2 (diff) | |
download | gitlab-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.rb | 116 |
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 |