diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-12-20 17:22:11 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-12-20 17:22:11 +0300 |
commit | 0c872e02b2c822e3397515ec324051ff540f0cd5 (patch) | |
tree | ce2fb6ce7030e4dad0f4118d21ab6453e5938cdd /spec/frontend/fixtures | |
parent | f7e05a6853b12f02911494c4b3fe53d9540d74fc (diff) |
Add latest changes from gitlab-org/gitlab@15-7-stable-eev15.7.0-rc42
Diffstat (limited to 'spec/frontend/fixtures')
-rw-r--r-- | spec/frontend/fixtures/api_merge_requests.rb | 8 | ||||
-rw-r--r-- | spec/frontend/fixtures/api_projects.rb | 8 | ||||
-rw-r--r-- | spec/frontend/fixtures/environments.rb | 53 | ||||
-rw-r--r-- | spec/frontend/fixtures/freeze_period.rb | 9 | ||||
-rw-r--r-- | spec/frontend/fixtures/releases.rb | 18 | ||||
-rw-r--r-- | spec/frontend/fixtures/runner_instructions.rb | 43 | ||||
-rw-r--r-- | spec/frontend/fixtures/tabs.rb | 8 |
7 files changed, 119 insertions, 28 deletions
diff --git a/spec/frontend/fixtures/api_merge_requests.rb b/spec/frontend/fixtures/api_merge_requests.rb index fae1f4056fb..a71a41dc5c4 100644 --- a/spec/frontend/fixtures/api_merge_requests.rb +++ b/spec/frontend/fixtures/api_merge_requests.rb @@ -6,7 +6,6 @@ RSpec.describe API::MergeRequests, '(JavaScript fixtures)', type: :request do include ApiHelpers include JavaScriptFixturesHelpers - let_it_be(:admin) { create(:admin, name: 'root') } let_it_be(:namespace) { create(:namespace, name: 'gitlab-test') } let_it_be(:project) { create(:project, :repository, namespace: namespace, path: 'lorem-ipsum') } let_it_be(:early_mrs) do @@ -14,21 +13,22 @@ RSpec.describe API::MergeRequests, '(JavaScript fixtures)', type: :request do end let_it_be(:mr) { create(:merge_request, source_project: project) } + let_it_be(:user) { project.owner } it 'api/merge_requests/get.json' do - get api("/projects/#{project.id}/merge_requests", admin) + get api("/projects/#{project.id}/merge_requests", user) expect(response).to be_successful end it 'api/merge_requests/versions.json' do - get api("/projects/#{project.id}/merge_requests/#{mr.iid}/versions", admin) + get api("/projects/#{project.id}/merge_requests/#{mr.iid}/versions", user) expect(response).to be_successful end it 'api/merge_requests/changes.json' do - get api("/projects/#{project.id}/merge_requests/#{mr.iid}/changes", admin) + get api("/projects/#{project.id}/merge_requests/#{mr.iid}/changes", user) expect(response).to be_successful end diff --git a/spec/frontend/fixtures/api_projects.rb b/spec/frontend/fixtures/api_projects.rb index b14f402a7b9..d1dfd223419 100644 --- a/spec/frontend/fixtures/api_projects.rb +++ b/spec/frontend/fixtures/api_projects.rb @@ -6,25 +6,25 @@ RSpec.describe API::Projects, '(JavaScript fixtures)', type: :request do include ApiHelpers include JavaScriptFixturesHelpers - let(:admin) { create(:admin, name: 'root') } let(:namespace) { create(:namespace, name: 'gitlab-test') } let(:project) { create(:project, :repository, namespace: namespace, path: 'lorem-ipsum') } let(:project_empty) { create(:project_empty_repo, namespace: namespace, path: 'lorem-ipsum-empty') } + let(:user) { project.owner } it 'api/projects/get.json' do - get api("/projects/#{project.id}", admin) + get api("/projects/#{project.id}", user) expect(response).to be_successful end it 'api/projects/get_empty.json' do - get api("/projects/#{project_empty.id}", admin) + get api("/projects/#{project_empty.id}", user) expect(response).to be_successful end it 'api/projects/branches/get.json' do - get api("/projects/#{project.id}/repository/branches/#{project.default_branch}", admin) + get api("/projects/#{project.id}/repository/branches/#{project.default_branch}", user) expect(response).to be_successful end diff --git a/spec/frontend/fixtures/environments.rb b/spec/frontend/fixtures/environments.rb new file mode 100644 index 00000000000..3ca5b50ac9c --- /dev/null +++ b/spec/frontend/fixtures/environments.rb @@ -0,0 +1,53 @@ +# frozen_string_literal: true + +require 'spec_helper' + +RSpec.describe 'Environments (JavaScript fixtures)', feature_category: :environment_management do + include ApiHelpers + include JavaScriptFixturesHelpers + include GraphqlHelpers + + let_it_be(:admin) { create(:admin, username: 'administrator', email: 'admin@example.gitlab.com') } + let_it_be(:group) { create(:group, path: 'environments-group') } + let_it_be(:project) { create(:project, :repository, group: group, path: 'environments-project') } + + let_it_be(:environment) { create(:environment, name: 'staging', project: project) } + + let_it_be(:pipeline) { create(:ci_pipeline, project: project) } + let_it_be(:build) { create(:ci_build, :success, pipeline: pipeline) } + + let(:user) { create(:user) } + let(:role) { :developer } + let_it_be(:deployment) do + create(:deployment, :success, environment: environment, deployable: nil) + end + + let_it_be(:deployment_success) do + create(:deployment, :success, environment: environment, deployable: build) + end + + let_it_be(:deployment_failed) do + create(:deployment, :failed, environment: environment, deployable: build) + end + + let_it_be(:deployment_running) do + create(:deployment, :running, environment: environment, deployable: build) + end + + describe GraphQL::Query, type: :request do + environment_details_query_path = 'environments/graphql/queries/environment_details.query.graphql' + + it "graphql/#{environment_details_query_path}.json" do + query = get_graphql_query_as_string(environment_details_query_path) + + post_graphql(query, current_user: admin, + variables: + { + projectFullPath: project.full_path, + environmentName: environment.name, + pageSize: 10 + }) + expect_graphql_errors_to_be_empty + end + end +end diff --git a/spec/frontend/fixtures/freeze_period.rb b/spec/frontend/fixtures/freeze_period.rb index 5aa466ef015..a1c7564d36e 100644 --- a/spec/frontend/fixtures/freeze_period.rb +++ b/spec/frontend/fixtures/freeze_period.rb @@ -13,15 +13,6 @@ RSpec.describe 'Freeze Periods (JavaScript fixtures)' do remove_repository(project) end - around do |example| - freeze_time do - # Mock time to sept 19 (intl. talk like a pirate day) - travel_to(Time.utc(2020, 9, 19)) - - example.run - end - end - describe API::FreezePeriods, '(JavaScript fixtures)', type: :request do include ApiHelpers diff --git a/spec/frontend/fixtures/releases.rb b/spec/frontend/fixtures/releases.rb index fc344472588..c7e3d8fe804 100644 --- a/spec/frontend/fixtures/releases.rb +++ b/spec/frontend/fixtures/releases.rb @@ -6,9 +6,9 @@ RSpec.describe 'Releases (JavaScript fixtures)' do include ApiHelpers include JavaScriptFixturesHelpers - let_it_be(:admin) { create(:admin, username: 'administrator', email: 'admin@example.gitlab.com') } let_it_be(:namespace) { create(:namespace, path: 'releases-namespace') } let_it_be(:project) { create(:project, :repository, namespace: namespace, path: 'releases-project') } + let_it_be(:user) { create(:user, email: 'user@example.gitlab.com', username: 'user1') } let_it_be(:milestone_12_3) do create(:milestone, @@ -52,7 +52,7 @@ RSpec.describe 'Releases (JavaScript fixtures)' do project: project, tag: 'v1.1', name: 'The first release', - author: admin, + author: user, description: 'Best. Release. **Ever.** :rocket:', created_at: Time.zone.parse('2018-12-3'), released_at: Time.zone.parse('2018-12-10')) @@ -105,19 +105,23 @@ RSpec.describe 'Releases (JavaScript fixtures)' do project: project, tag: 'v1.2', name: 'The second release', - author: admin, + author: user, description: 'An okay release :shrug:', created_at: Time.zone.parse('2019-01-03'), released_at: Time.zone.parse('2019-01-10')) end + before do + project.add_owner(user) + end + after(:all) do remove_repository(project) end describe API::Releases, type: :request do it 'api/releases/release.json' do - get api("/projects/#{project.id}/releases/#{release.tag}", admin) + get api("/projects/#{project.id}/releases/#{release.tag}", user) expect(response).to be_successful end @@ -133,7 +137,7 @@ RSpec.describe 'Releases (JavaScript fixtures)' do it "graphql/#{all_releases_query_path}.json" do query = get_graphql_query_as_string(all_releases_query_path) - post_graphql(query, current_user: admin, variables: { fullPath: project.full_path }) + post_graphql(query, current_user: user, variables: { fullPath: project.full_path }) expect_graphql_errors_to_be_empty expect(graphql_data_at(:project, :releases)).to be_present @@ -142,7 +146,7 @@ RSpec.describe 'Releases (JavaScript fixtures)' do it "graphql/#{one_release_query_path}.json" do query = get_graphql_query_as_string(one_release_query_path) - post_graphql(query, current_user: admin, variables: { fullPath: project.full_path, tagName: release.tag }) + post_graphql(query, current_user: user, variables: { fullPath: project.full_path, tagName: release.tag }) expect_graphql_errors_to_be_empty expect(graphql_data_at(:project, :release)).to be_present @@ -151,7 +155,7 @@ RSpec.describe 'Releases (JavaScript fixtures)' do it "graphql/#{one_release_for_editing_query_path}.json" do query = get_graphql_query_as_string(one_release_for_editing_query_path) - post_graphql(query, current_user: admin, variables: { fullPath: project.full_path, tagName: release.tag }) + post_graphql(query, current_user: user, variables: { fullPath: project.full_path, tagName: release.tag }) expect_graphql_errors_to_be_empty expect(graphql_data_at(:project, :release)).to be_present diff --git a/spec/frontend/fixtures/runner_instructions.rb b/spec/frontend/fixtures/runner_instructions.rb new file mode 100644 index 00000000000..90a01c37479 --- /dev/null +++ b/spec/frontend/fixtures/runner_instructions.rb @@ -0,0 +1,43 @@ +# frozen_string_literal: true + +require 'spec_helper' + +RSpec.describe 'Runner Instructions (JavaScript fixtures)', feature_category: :runner do + include ApiHelpers + include JavaScriptFixturesHelpers + include GraphqlHelpers + + query_path = 'vue_shared/components/runner_instructions/graphql/queries' + + describe GraphQL::Query do + describe 'get_runner_platforms.query.graphql', type: :request do + let_it_be(:query) do + get_graphql_query_as_string("#{query_path}/get_runner_platforms.query.graphql") + end + + it 'graphql/runner_instructions/get_runner_platforms.query.graphql.json' do + post_graphql(query) + + expect_graphql_errors_to_be_empty + end + end + + describe 'get_runner_setup.query.graphql', type: :request do + let_it_be(:query) do + get_graphql_query_as_string("#{query_path}/get_runner_setup.query.graphql") + end + + it 'graphql/runner_instructions/get_runner_setup.query.graphql.json' do + post_graphql(query, variables: { platform: 'linux', architecture: 'amd64' }) + + expect_graphql_errors_to_be_empty + end + + it 'graphql/runner_instructions/get_runner_setup.query.graphql.windows.json' do + post_graphql(query, variables: { platform: 'windows', architecture: 'amd64' }) + + expect_graphql_errors_to_be_empty + end + end + end +end diff --git a/spec/frontend/fixtures/tabs.rb b/spec/frontend/fixtures/tabs.rb index 697ff1c7c20..57ecb32e289 100644 --- a/spec/frontend/fixtures/tabs.rb +++ b/spec/frontend/fixtures/tabs.rb @@ -11,14 +11,14 @@ RSpec.describe 'GlTabsBehavior', '(JavaScript fixtures)', type: :helper do it 'tabs/tabs.html' do tabs = gl_tabs_nav({ data: { testid: 'tabs' } }) do gl_tab_link_to('Foo', '#foo', item_active: true, data: { testid: 'foo-tab' }) + - gl_tab_link_to('Bar', '#bar', item_active: false, data: { testid: 'bar-tab' }) + - gl_tab_link_to('Qux', '#qux', item_active: false, data: { testid: 'qux-tab' }) + gl_tab_link_to('Bar', '#bar', item_active: false, data: { testid: 'bar-tab' }) + + gl_tab_link_to('Qux', '#qux', item_active: false, data: { testid: 'qux-tab' }) end panels = content_tag(:div, class: 'tab-content') do content_tag(:div, 'Foo', { id: 'foo', class: 'tab-pane active', data: { testid: 'foo-panel' } }) + - content_tag(:div, 'Bar', { id: 'bar', class: 'tab-pane', data: { testid: 'bar-panel' } }) + - content_tag(:div, 'Qux', { id: 'qux', class: 'tab-pane', data: { testid: 'qux-panel' } }) + content_tag(:div, 'Bar', { id: 'bar', class: 'tab-pane', data: { testid: 'bar-panel' } }) + + content_tag(:div, 'Qux', { id: 'qux', class: 'tab-pane', data: { testid: 'qux-panel' } }) end @tabs = tabs + panels |