diff options
Diffstat (limited to 'spec/models/project_team_spec.rb')
-rw-r--r-- | spec/models/project_team_spec.rb | 70 |
1 files changed, 0 insertions, 70 deletions
diff --git a/spec/models/project_team_spec.rb b/spec/models/project_team_spec.rb deleted file mode 100644 index 19201cc15a7..00000000000 --- a/spec/models/project_team_spec.rb +++ /dev/null @@ -1,70 +0,0 @@ -require "spec_helper" - -describe ProjectTeam do - let(:master) { create(:user) } - let(:reporter) { create(:user) } - let(:guest) { create(:user) } - let(:nonmember) { create(:user) } - - context 'personal project' do - let(:project) { create(:empty_project) } - - before do - project.team << [master, :master] - project.team << [reporter, :reporter] - project.team << [guest, :guest] - end - - describe 'members collection' do - it { expect(project.team.masters).to include(master) } - it { expect(project.team.masters).not_to include(guest) } - it { expect(project.team.masters).not_to include(reporter) } - it { expect(project.team.masters).not_to include(nonmember) } - end - - describe 'access methods' do - it { expect(project.team.master?(master)).to be_truthy } - it { expect(project.team.master?(guest)).to be_falsey } - it { expect(project.team.master?(reporter)).to be_falsey } - it { expect(project.team.master?(nonmember)).to be_falsey } - it { expect(project.team.member?(nonmember)).to be_falsey } - it { expect(project.team.member?(guest)).to be_truthy } - end - end - - context 'group project' do - let(:group) { create(:group) } - let(:project) { create(:empty_project, group: group) } - - before do - group.add_user(master, Gitlab::Access::MASTER) - group.add_user(reporter, Gitlab::Access::REPORTER) - group.add_user(guest, Gitlab::Access::GUEST) - - # If user is a group and a project member - GitLab uses highest permission - # So we add group guest as master and add group master as guest - # to this project to test highest access - project.team << [guest, :master] - project.team << [master, :guest] - end - - describe 'members collection' do - it { expect(project.team.reporters).to include(reporter) } - it { expect(project.team.masters).to include(master) } - it { expect(project.team.masters).to include(guest) } - it { expect(project.team.masters).not_to include(reporter) } - it { expect(project.team.masters).not_to include(nonmember) } - end - - describe 'access methods' do - it { expect(project.team.reporter?(reporter)).to be_truthy } - it { expect(project.team.master?(master)).to be_truthy } - it { expect(project.team.master?(guest)).to be_truthy } - it { expect(project.team.master?(reporter)).to be_falsey } - it { expect(project.team.master?(nonmember)).to be_falsey } - it { expect(project.team.member?(nonmember)).to be_falsey } - it { expect(project.team.member?(guest)).to be_truthy } - end - end -end - |