diff options
author | Francisco Javier López <fjlopez@gitlab.com> | 2017-11-01 17:08:18 +0300 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2017-11-01 17:08:18 +0300 |
commit | af1fb493235496cc676795f0e7d355bfb34f869b (patch) | |
tree | 5cd99f98938d3bba32b0994be3eef9e41d03af74 /spec | |
parent | 713052c7255c9c4fc33b74ca5d788644a30018ca (diff) |
Refactor/group links controller
Diffstat (limited to 'spec')
-rw-r--r-- | spec/services/projects/group_links/create_service_spec.rb | 22 | ||||
-rw-r--r-- | spec/services/projects/group_links/destroy_service_spec.rb | 16 |
2 files changed, 38 insertions, 0 deletions
diff --git a/spec/services/projects/group_links/create_service_spec.rb b/spec/services/projects/group_links/create_service_spec.rb new file mode 100644 index 00000000000..ffb270d277e --- /dev/null +++ b/spec/services/projects/group_links/create_service_spec.rb @@ -0,0 +1,22 @@ +require 'spec_helper' + +describe Projects::GroupLinks::CreateService, '#execute' do + let(:user) { create :user } + let(:group) { create :group } + let(:project) { create :project } + let(:opts) do + { + link_group_access: '30', + expires_at: nil + } + end + let(:subject) { described_class.new(project, user, opts) } + + it 'adds group to project' do + expect { subject.execute(group) }.to change { project.project_group_links.count }.from(0).to(1) + end + + it 'returns false if group is blank' do + expect { subject.execute(nil) }.not_to change { project.project_group_links.count } + end +end diff --git a/spec/services/projects/group_links/destroy_service_spec.rb b/spec/services/projects/group_links/destroy_service_spec.rb new file mode 100644 index 00000000000..336ee01ae50 --- /dev/null +++ b/spec/services/projects/group_links/destroy_service_spec.rb @@ -0,0 +1,16 @@ +require 'spec_helper' + +describe Projects::GroupLinks::DestroyService, '#execute' do + let(:group_link) { create :project_group_link } + let(:project) { group_link.project } + let(:user) { create :user } + let(:subject) { described_class.new(project, user) } + + it 'removes group from project' do + expect { subject.execute(group_link) }.to change { project.project_group_links.count }.from(1).to(0) + end + + it 'returns false if group_link is blank' do + expect { subject.execute(nil) }.not_to change { project.project_group_links.count } + end +end |