diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-03-23 15:09:47 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-03-23 15:09:47 +0300 |
commit | 8f9beefac3774b30e911fb00a68f4c7a5244cf27 (patch) | |
tree | 919c3a043f8c10bc3f78f3f6e029acfb6b972556 /spec/requests/api | |
parent | e4bf776a8829e5186a0f63603c0be627b891d80e (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/requests/api')
-rw-r--r-- | spec/requests/api/groups_spec.rb | 2 | ||||
-rw-r--r-- | spec/requests/api/notes_spec.rb | 50 | ||||
-rw-r--r-- | spec/requests/api/pages/internal_access_spec.rb | 2 | ||||
-rw-r--r-- | spec/requests/api/pages/private_access_spec.rb | 2 | ||||
-rw-r--r-- | spec/requests/api/pages/public_access_spec.rb | 2 | ||||
-rw-r--r-- | spec/requests/api/projects_spec.rb | 15 |
6 files changed, 65 insertions, 8 deletions
diff --git a/spec/requests/api/groups_spec.rb b/spec/requests/api/groups_spec.rb index 54bb2e670da..cec4995c620 100644 --- a/spec/requests/api/groups_spec.rb +++ b/spec/requests/api/groups_spec.rb @@ -302,7 +302,7 @@ describe API::Groups do before do group1.add_developer(user2) - group3.add_master(user2) + group3.add_maintainer(user2) end it 'returns an array of groups the user has at least master access' do diff --git a/spec/requests/api/notes_spec.rb b/spec/requests/api/notes_spec.rb index 6cf978e717e..3fb14eb9d5a 100644 --- a/spec/requests/api/notes_spec.rb +++ b/spec/requests/api/notes_spec.rb @@ -3,8 +3,8 @@ require 'spec_helper' describe API::Notes do - let(:user) { create(:user) } - let!(:project) { create(:project, :public, namespace: user.namespace) } + let!(:user) { create(:user) } + let!(:project) { create(:project, :public) } let(:private_user) { create(:user) } before do @@ -226,14 +226,56 @@ describe API::Notes do let(:note) { merge_request_note } end + let(:request_body) { 'Hi!' } + let(:request_path) { "/projects/#{project.id}/merge_requests/#{merge_request.iid}/notes" } + + subject { post api(request_path, user), params: { body: request_body } } + + context 'a command only note' do + let(:assignee) { create(:user) } + let(:request_body) { "/assign #{assignee.to_reference}" } + + before do + project.add_developer(assignee) + project.add_developer(user) + end + + it 'returns 202 Accepted status' do + subject + + expect(response).to have_gitlab_http_status(:accepted) + end + + it 'does not actually create a new note' do + expect { subject }.not_to change { Note.where(system: false).count } + end + + it 'does however create a system note about the change' do + expect { subject }.to change { Note.system.count }.by(1) + end + + it 'applies the commands' do + expect { subject }.to change { merge_request.reset.assignees } + end + + it 'reports the changes' do + subject + + expect(json_response).to include( + 'commands_changes' => include( + 'assignee_ids' => [Integer] + ), + 'summary' => include("Assigned #{assignee.to_reference}.") + ) + end + end + context 'when the merge request discussion is locked' do before do merge_request.update_attribute(:discussion_locked, true) end context 'when a user is a team member' do - subject { post api("/projects/#{project.id}/merge_requests/#{merge_request.iid}/notes", user), params: { body: 'Hi!' } } - it 'returns 200 status' do subject diff --git a/spec/requests/api/pages/internal_access_spec.rb b/spec/requests/api/pages/internal_access_spec.rb index 91139b987df..ee55d1c54b7 100644 --- a/spec/requests/api/pages/internal_access_spec.rb +++ b/spec/requests/api/pages/internal_access_spec.rb @@ -19,7 +19,7 @@ describe "Internal Project Pages Access" do before do allow(Gitlab.config.pages).to receive(:access_control).and_return(true) group.add_owner(owner) - project.add_master(master) + project.add_maintainer(master) project.add_developer(developer) project.add_reporter(reporter) project.add_guest(guest) diff --git a/spec/requests/api/pages/private_access_spec.rb b/spec/requests/api/pages/private_access_spec.rb index 7c592ccfd43..146c6a389f3 100644 --- a/spec/requests/api/pages/private_access_spec.rb +++ b/spec/requests/api/pages/private_access_spec.rb @@ -19,7 +19,7 @@ describe "Private Project Pages Access" do before do allow(Gitlab.config.pages).to receive(:access_control).and_return(true) group.add_owner(owner) - project.add_master(master) + project.add_maintainer(master) project.add_developer(developer) project.add_reporter(reporter) project.add_guest(guest) diff --git a/spec/requests/api/pages/public_access_spec.rb b/spec/requests/api/pages/public_access_spec.rb index f2fe64434c6..7d929e2a287 100644 --- a/spec/requests/api/pages/public_access_spec.rb +++ b/spec/requests/api/pages/public_access_spec.rb @@ -19,7 +19,7 @@ describe "Public Project Pages Access" do before do allow(Gitlab.config.pages).to receive(:access_control).and_return(true) group.add_owner(owner) - project.add_master(master) + project.add_maintainer(master) project.add_developer(developer) project.add_reporter(reporter) project.add_guest(guest) diff --git a/spec/requests/api/projects_spec.rb b/spec/requests/api/projects_spec.rb index 8706b941e4f..c4f4801e372 100644 --- a/spec/requests/api/projects_spec.rb +++ b/spec/requests/api/projects_spec.rb @@ -362,6 +362,21 @@ describe API::Projects do end end + context 'and using search and search_namespaces is true' do + let(:group) { create(:group) } + let!(:project_in_group) { create(:project, group: group) } + + before do + group.add_guest(user) + end + + it_behaves_like 'projects response' do + let(:filter) { { search: group.name, search_namespaces: true } } + let(:current_user) { user } + let(:projects) { [project_in_group] } + end + end + context 'and using id_after' do it_behaves_like 'projects response' do let(:filter) { { id_after: project2.id } } |