Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2022-10-20 12:40:42 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2022-10-20 12:40:42 +0300
commitee664acb356f8123f4f6b00b73c1e1cf0866c7fb (patch)
treef8479f94a28f66654c6a4f6fb99bad6b4e86a40e /spec/requests/projects
parent62f7d5c5b69180e82ae8196b7b429eeffc8e7b4f (diff)
Add latest changes from gitlab-org/gitlab@15-5-stable-eev15.5.0-rc42
Diffstat (limited to 'spec/requests/projects')
-rw-r--r--spec/requests/projects/ci/promeheus_metrics/histograms_controller_spec.rb9
-rw-r--r--spec/requests/projects/incident_management/timeline_events_spec.rb60
-rw-r--r--spec/requests/projects/issues_controller_spec.rb15
-rw-r--r--spec/requests/projects/merge_requests_controller_spec.rb15
-rw-r--r--spec/requests/projects/settings/access_tokens_controller_spec.rb15
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