diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-10-20 12:40:42 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-10-20 12:40:42 +0300 |
commit | ee664acb356f8123f4f6b00b73c1e1cf0866c7fb (patch) | |
tree | f8479f94a28f66654c6a4f6fb99bad6b4e86a40e /spec/requests/projects | |
parent | 62f7d5c5b69180e82ae8196b7b429eeffc8e7b4f (diff) |
Add latest changes from gitlab-org/gitlab@15-5-stable-eev15.5.0-rc42
Diffstat (limited to 'spec/requests/projects')
5 files changed, 94 insertions, 20 deletions
diff --git a/spec/requests/projects/ci/promeheus_metrics/histograms_controller_spec.rb b/spec/requests/projects/ci/promeheus_metrics/histograms_controller_spec.rb index 7d5eb1c9685..c5e7369b0a9 100644 --- a/spec/requests/projects/ci/promeheus_metrics/histograms_controller_spec.rb +++ b/spec/requests/projects/ci/promeheus_metrics/histograms_controller_spec.rb @@ -8,10 +8,11 @@ RSpec.describe 'Projects::Ci::PrometheusMetrics::HistogramsController' do describe 'POST /*namespace_id/:project_id/-/ci/prometheus_metrics/histograms' do context 'with known histograms' do it 'returns 201 Created' do - post histograms_route(histograms: [ - { name: :pipeline_graph_link_calculation_duration_seconds, value: 1 }, - { name: :pipeline_graph_links_total, value: 10 } - ]) + post histograms_route(histograms: + [ + { name: :pipeline_graph_link_calculation_duration_seconds, value: 1 }, + { name: :pipeline_graph_links_total, value: 10 } + ]) expect(response).to have_gitlab_http_status(:created) end diff --git a/spec/requests/projects/incident_management/timeline_events_spec.rb b/spec/requests/projects/incident_management/timeline_events_spec.rb new file mode 100644 index 00000000000..f7dead4834d --- /dev/null +++ b/spec/requests/projects/incident_management/timeline_events_spec.rb @@ -0,0 +1,60 @@ +# frozen_string_literal: true + +require 'spec_helper' + +RSpec.describe 'Timeline Events' do + let_it_be(:project) { create(:project) } + let_it_be(:user) { create(:user) } + let_it_be(:incident) { create(:incident, project: project) } + + describe 'POST /preview_markdown' do + let(:timeline_text) { "timeline text with image ![img](img/src.png) and reference #{incident.to_reference}" } + + context 'when authorized' do + let(:expected_img) do + '<a class="with-attachment-icon" href="img/src.png" target="_blank" rel="noopener noreferrer">img</a>' + end + + let(:expected_reference) do + %(<a href="/#{project.full_path}/-/issues/#{incident.iid}" data-reference-type="issue" ) + + %(data-original="##{incident.iid}" data-link="false" data-link-reference="false" ) + + %(data-project="#{project.id}" data-issue="#{incident.id}" data-project-path="#{project.full_path}" ) + + %(data-iid="#{incident.iid}" data-issue-type="incident" data-container="body" data-placement="top" ) + + %(title="#{incident.title}" class="gfm gfm-issue">##{incident.iid}</a>) + end + + let(:expected_body) do + "<p>timeline text with image #{expected_img} and reference #{expected_reference}</p>" + end + + before do + project.add_developer(user) + login_as(user) + end + + it 'renders JSON in a correct format' do + post preview_markdown_project_incident_management_timeline_events_path(project, format: :json), + params: { text: timeline_text } + + expect(response).to have_gitlab_http_status(:ok) + expect(json_response).to eq({ + body: expected_body, + references: { + commands: '', + suggestions: [], + users: [] + } + }.as_json) + end + end + + context 'when not authorized' do + it 'returns 302' do + post preview_markdown_project_incident_management_timeline_events_path(project, format: :json), + params: { text: timeline_text } + + expect(response).to have_gitlab_http_status(:found) + end + end + end +end diff --git a/spec/requests/projects/issues_controller_spec.rb b/spec/requests/projects/issues_controller_spec.rb index de1d55ff5be..aa2ba5e114b 100644 --- a/spec/requests/projects/issues_controller_spec.rb +++ b/spec/requests/projects/issues_controller_spec.rb @@ -31,11 +31,12 @@ RSpec.describe Projects::IssuesController do notes = discussions.flat_map { |d| d['notes'] } expect(discussions.count).to eq(2) - expect(notes).to match([ - a_hash_including('id' => discussion.id.to_s), - a_hash_including('id' => discussion_reply.id.to_s), - a_hash_including('type' => 'StateNote') - ]) + expect(notes).to match( + [ + a_hash_including('id' => discussion.id.to_s), + a_hash_including('id' => discussion_reply.id.to_s), + a_hash_including('type' => 'StateNote') + ]) cursor = response.header['X-Next-Page-Cursor'] expect(cursor).to be_present @@ -46,9 +47,7 @@ RSpec.describe Projects::IssuesController do notes = discussions.flat_map { |d| d['notes'] } expect(discussions.count).to eq(1) - expect(notes).to match([ - a_hash_including('id' => discussion_2.id.to_s) - ]) + expect(notes).to match([a_hash_including('id' => discussion_2.id.to_s)]) end end end diff --git a/spec/requests/projects/merge_requests_controller_spec.rb b/spec/requests/projects/merge_requests_controller_spec.rb index 6580fc8b80f..2ee86bb423b 100644 --- a/spec/requests/projects/merge_requests_controller_spec.rb +++ b/spec/requests/projects/merge_requests_controller_spec.rb @@ -29,11 +29,12 @@ RSpec.describe Projects::MergeRequestsController do notes = discussions.flat_map { |d| d['notes'] } expect(discussions.count).to eq(2) - expect(notes).to match([ - a_hash_including('id' => discussion.id.to_s), - a_hash_including('id' => discussion_reply.id.to_s), - a_hash_including('type' => 'StateNote') - ]) + expect(notes).to match( + [ + a_hash_including('id' => discussion.id.to_s), + a_hash_including('id' => discussion_reply.id.to_s), + a_hash_including('type' => 'StateNote') + ]) cursor = response.header['X-Next-Page-Cursor'] expect(cursor).to be_present @@ -44,9 +45,7 @@ RSpec.describe Projects::MergeRequestsController do notes = discussions.flat_map { |d| d['notes'] } expect(discussions.count).to eq(1) - expect(notes).to match([ - a_hash_including('id' => discussion_2.id.to_s) - ]) + expect(notes).to match([a_hash_including('id' => discussion_2.id.to_s)]) end context 'when paginated_mr_discussions is disabled' do diff --git a/spec/requests/projects/settings/access_tokens_controller_spec.rb b/spec/requests/projects/settings/access_tokens_controller_spec.rb index 780d1b8caef..48114834c65 100644 --- a/spec/requests/projects/settings/access_tokens_controller_spec.rb +++ b/spec/requests/projects/settings/access_tokens_controller_spec.rb @@ -88,4 +88,19 @@ RSpec.describe Projects::Settings::AccessTokensController do it_behaves_like 'feature unavailable' it_behaves_like 'PUT resource access tokens available' end + + describe '#index' do + let_it_be(:resource_access_tokens) { create_list(:personal_access_token, 3, user: bot_user) } + + before do + get project_settings_access_tokens_path(resource) + end + + it 'includes details of the active project access tokens' do + active_resource_access_tokens = + ::ProjectAccessTokenSerializer.new.represent(resource_access_tokens.reverse, project: resource) + + expect(assigns(:active_resource_access_tokens).to_json).to eq(active_resource_access_tokens.to_json) + end + end end |