diff --git a/app/assets/javascripts/ci/runner/components/runner_details.vue b/app/assets/javascripts/ci/runner/components/runner_details.vue index 38018eac802..6d36fd6d5dc 100644 --- a/app/assets/javascripts/ci/runner/components/runner_details.vue +++ b/app/assets/javascripts/ci/runner/components/runner_details.vue @@ -16,7 +16,7 @@ import RunnerDetail from './runner_detail.vue'; import RunnerGroups from './runner_groups.vue'; import RunnerProjects from './runner_projects.vue'; import RunnerTags from './runner_tags.vue'; -import RunnerManagersDetail from './runner_managers_detail.vue'; +import RunnerManagers from './runner_managers.vue'; export default { components: { @@ -29,7 +29,7 @@ export default { RunnerGroups, RunnerProjects, RunnerTags, - RunnerManagersDetail, + RunnerManagers, TimeAgo, }, props: { @@ -143,7 +143,7 @@ export default {
- +
diff --git a/app/assets/javascripts/ci/runner/components/runner_managers_detail.vue b/app/assets/javascripts/ci/runner/components/runner_managers.vue similarity index 64% rename from app/assets/javascripts/ci/runner/components/runner_managers_detail.vue rename to app/assets/javascripts/ci/runner/components/runner_managers.vue index 378734ed746..1bdfc3be8f6 100644 --- a/app/assets/javascripts/ci/runner/components/runner_managers_detail.vue +++ b/app/assets/javascripts/ci/runner/components/runner_managers.vue @@ -1,17 +1,13 @@ @@ -520,6 +530,7 @@ export default {
{ useFakeDate(mockNow); const findDetailGroups = () => wrapper.findComponent(RunnerGroups); - const findRunnerManagersDetail = () => wrapper.findComponent(RunnerManagersDetail); + const findRunnerManagers = () => wrapper.findComponent(RunnerManagers); const findDdContent = (label) => findDd(label, wrapper).text().replace(/\s+/g, ' '); @@ -121,7 +121,7 @@ describe('RunnerDetails', () => { }, }); - expect(findRunnerManagersDetail().props('runner')).toEqual(mockRunner); + expect(findRunnerManagers().props('runner')).toEqual(mockRunner); }); }); diff --git a/spec/frontend/ci/runner/components/runner_managers_detail_spec.js b/spec/frontend/ci/runner/components/runner_managers_spec.js similarity index 66% rename from spec/frontend/ci/runner/components/runner_managers_detail_spec.js rename to spec/frontend/ci/runner/components/runner_managers_spec.js index 027371ada13..bdd7a4bd040 100644 --- a/spec/frontend/ci/runner/components/runner_managers_detail_spec.js +++ b/spec/frontend/ci/runner/components/runner_managers_spec.js @@ -1,36 +1,28 @@ import { GlTableLite } from '@gitlab/ui'; -import Vue from 'vue'; -import VueApollo from 'vue-apollo'; import { shallowMountExtended, mountExtended } from 'helpers/vue_test_utils_helper'; -import createMockApollo from 'helpers/mock_apollo_helper'; import waitForPromises from 'helpers/wait_for_promises'; -import RunnerManagersDetail from '~/ci/runner/components/runner_managers_detail.vue'; +import RunnerManagers from '~/ci/runner/components/runner_managers.vue'; import RunnerManagersTable from '~/ci/runner/components/runner_managers_table.vue'; import CrudComponent from '~/vue_shared/components/crud_component.vue'; -import runnerManagersQuery from '~/ci/runner/graphql/show/runner_managers.query.graphql'; -import { runnerData, runnerManagersData } from '../mock_data'; +import { runnerData } from '../mock_data'; jest.mock('~/alert'); jest.mock('~/ci/runner/sentry_utils'); const mockRunner = runnerData.data.runner; -const mockRunnerManagers = runnerManagersData.data.runner.managers.nodes; - -Vue.use(VueApollo); +const mockRunnerManagers = runnerData.data.runner.managers.nodes; describe('RunnerJobs', () => { let wrapper; - let mockRunnerManagersHandler; const findCrudComponent = () => wrapper.findComponent(CrudComponent); const findCrudExpandToggle = () => wrapper.findByTestId('crud-collapse-toggle'); const findRunnerManagersTable = () => wrapper.findComponent(RunnerManagersTable); const createComponent = ({ props, mountFn = shallowMountExtended } = {}) => { - wrapper = mountFn(RunnerManagersDetail, { - apolloProvider: createMockApollo([[runnerManagersQuery, mockRunnerManagersHandler]]), + wrapper = mountFn(RunnerManagers, { propsData: { runner: mockRunner, ...props, @@ -42,18 +34,11 @@ describe('RunnerJobs', () => { }); }; - beforeEach(() => { - mockRunnerManagersHandler = jest.fn(); - }); - - afterEach(() => { - mockRunnerManagersHandler.mockReset(); - }); - it('hides if no runners', () => { createComponent({ props: { runner: { + ...mockRunner, managers: { count: 0, }, @@ -88,19 +73,10 @@ describe('RunnerJobs', () => { describe('Shows data', () => { beforeEach(async () => { - mockRunnerManagersHandler.mockResolvedValue(runnerManagersData); - createComponent({ mountFn: mountExtended }); await waitForPromises(); }); - it('fetches data', () => { - expect(mockRunnerManagersHandler).toHaveBeenCalledTimes(1); - expect(mockRunnerManagersHandler).toHaveBeenCalledWith({ - runnerId: mockRunner.id, - }); - }); - it('shows rows', async () => { await findCrudExpandToggle().vm.$emit('click'); diff --git a/spec/frontend/ci/runner/components/runner_managers_table_spec.js b/spec/frontend/ci/runner/components/runner_managers_table_spec.js index aa60bb9ee1e..a08569e3bc6 100644 --- a/spec/frontend/ci/runner/components/runner_managers_table_spec.js +++ b/spec/frontend/ci/runner/components/runner_managers_table_spec.js @@ -5,12 +5,12 @@ import RunnerManagersTable from '~/ci/runner/components/runner_managers_table.vu import TimeAgo from '~/vue_shared/components/time_ago_tooltip.vue'; import { I18N_STATUS_NEVER_CONTACTED } from '~/ci/runner/constants'; -import { runnerManagersData } from '../mock_data'; +import { runnerData } from '../mock_data'; jest.mock('~/alert'); jest.mock('~/ci/runner/sentry_utils'); -const mockItems = runnerManagersData.data.runner.managers.nodes; +const mockItems = runnerData.data.runner.managers.nodes; describe('RunnerJobs', () => { let wrapper; diff --git a/spec/frontend/ci/runner/mock_data.js b/spec/frontend/ci/runner/mock_data.js index 5a6c5159ae1..0c9a3aff7d8 100644 --- a/spec/frontend/ci/runner/mock_data.js +++ b/spec/frontend/ci/runner/mock_data.js @@ -19,7 +19,6 @@ import runnerData from 'test_fixtures/graphql/ci/runner/show/runner.query.graphq import runnerWithGroupData from 'test_fixtures/graphql/ci/runner/show/runner.query.graphql.with_group.json'; import runnerProjectsData from 'test_fixtures/graphql/ci/runner/show/runner_projects.query.graphql.json'; import runnerJobsData from 'test_fixtures/graphql/ci/runner/show/runner_jobs.query.graphql.json'; -import runnerManagersData from 'test_fixtures/graphql/ci/runner/show/runner_managers.query.graphql.json'; // Edit runner queries import runnerFormData from 'test_fixtures/graphql/ci/runner/edit/runner_form.query.graphql.json'; @@ -479,7 +478,6 @@ export { runnerWithGroupData, runnerProjectsData, runnerJobsData, - runnerManagersData, runnerFormData, runnerCreateResult, runnerForRegistration, diff --git a/spec/frontend/fixtures/runner.rb b/spec/frontend/fixtures/runner.rb index 72afaee355a..25b5fd1a3c6 100644 --- a/spec/frontend/fixtures/runner.rb +++ b/spec/frontend/fixtures/runner.rb @@ -143,22 +143,6 @@ RSpec.describe 'Runner (JavaScript fixtures)', feature_category: :fleet_visibili end end - describe 'runner_managers.query.graphql', type: :request do - runner_managers_query = 'show/runner_managers.query.graphql' - - let_it_be(:query) do - get_graphql_query_as_string("#{query_path}#{runner_managers_query}") - end - - it "#{fixtures_path}#{runner_managers_query}.json" do - post_graphql(query, current_user: admin, variables: { - runner_id: runner.to_global_id.to_s - }) - - expect_graphql_errors_to_be_empty - end - end - describe 'runner_form.query.graphql', type: :request do runner_jobs_query = 'edit/runner_form.query.graphql' diff --git a/spec/frontend/groups/your_work/components/app_spec.js b/spec/frontend/groups/your_work/components/app_spec.js index 9079c1cb708..b8dc188a81f 100644 --- a/spec/frontend/groups/your_work/components/app_spec.js +++ b/spec/frontend/groups/your_work/components/app_spec.js @@ -1,4 +1,4 @@ -import { shallowMountExtended } from 'helpers/vue_test_utils_helper'; +import { shallowMount } from '@vue/test-utils'; import YourWorkGroupsApp from '~/groups/your_work/components/app.vue'; import { GROUP_DASHBOARD_TABS, @@ -24,7 +24,7 @@ describe('YourWorkGroupsApp', () => { }; const createComponent = () => { - wrapper = shallowMountExtended(YourWorkGroupsApp, { propsData: defaultPropsData }); + wrapper = shallowMount(YourWorkGroupsApp, { propsData: defaultPropsData }); }; beforeEach(() => { diff --git a/spec/helpers/groups_helper_spec.rb b/spec/helpers/groups_helper_spec.rb index 83964b731e8..06e2d8b4d53 100644 --- a/spec/helpers/groups_helper_spec.rb +++ b/spec/helpers/groups_helper_spec.rb @@ -878,6 +878,19 @@ RSpec.describe GroupsHelper, feature_category: :groups_and_projects do end end + describe '#groups_list_with_filtered_search_app_data' do + let_it_be(:endpoint) { '/groups' } + + it 'returns expected json' do + expect(Gitlab::Json.parse(helper.groups_list_with_filtered_search_app_data(endpoint))).to eq( + { + 'endpoint' => endpoint, + 'initial_sort' => 'created_desc' + } + ) + end + end + describe '#group_merge_requests' do let_it_be(:user) { create(:user) } let_it_be(:group) { create(:group) }