diff options
Diffstat (limited to 'spec/frontend/clusters/agents/components')
-rw-r--r-- | spec/frontend/clusters/agents/components/activity_events_list_spec.js | 7 | ||||
-rw-r--r-- | spec/frontend/clusters/agents/components/show_spec.js | 51 |
2 files changed, 43 insertions, 15 deletions
diff --git a/spec/frontend/clusters/agents/components/activity_events_list_spec.js b/spec/frontend/clusters/agents/components/activity_events_list_spec.js index 4abbd77dfb7..6b374b6620d 100644 --- a/spec/frontend/clusters/agents/components/activity_events_list_spec.js +++ b/spec/frontend/clusters/agents/components/activity_events_list_spec.js @@ -70,8 +70,9 @@ describe('ActivityEvents', () => { }); describe('when there are no agentEvents', () => { - beforeEach(() => { + beforeEach(async () => { createWrapper({ queryResponse: jest.fn().mockResolvedValue(mockEmptyResponse) }); + await waitForPromises(); }); it('displays an empty state with the correct illustration', () => { @@ -83,9 +84,11 @@ describe('ActivityEvents', () => { describe('when the agentEvents are present', () => { const length = mockResponse.data?.project?.clusterAgent?.activityEvents?.nodes?.length; - beforeEach(() => { + beforeEach(async () => { createWrapper(); + await waitForPromises(); }); + it('renders an activity-history-item components for every event', () => { expect(findAllActivityHistoryItems()).toHaveLength(length); }); diff --git a/spec/frontend/clusters/agents/components/show_spec.js b/spec/frontend/clusters/agents/components/show_spec.js index 2a3c11f4b47..f2f073544e3 100644 --- a/spec/frontend/clusters/agents/components/show_spec.js +++ b/spec/frontend/clusters/agents/components/show_spec.js @@ -11,12 +11,14 @@ import { useFakeDate } from 'helpers/fake_date'; import createMockApollo from 'helpers/mock_apollo_helper'; import waitForPromises from 'helpers/wait_for_promises'; import TimeAgoTooltip from '~/vue_shared/components/time_ago_tooltip.vue'; +import { MAX_LIST_COUNT, TOKEN_STATUS_ACTIVE } from '~/clusters/agents/constants'; const localVue = createLocalVue(); localVue.use(VueApollo); describe('ClusterAgentShow', () => { let wrapper; + let agentQueryResponse; useFakeDate([2021, 2, 15]); const provide = { @@ -40,7 +42,7 @@ describe('ClusterAgentShow', () => { }; const createWrapper = ({ clusterAgent, queryResponse = null }) => { - const agentQueryResponse = + agentQueryResponse = queryResponse || jest.fn().mockResolvedValue({ data: { project: { id: 'project-1', clusterAgent } } }); const apolloProvider = createMockApollo([[getAgentQuery, agentQueryResponse]]); @@ -80,8 +82,21 @@ describe('ClusterAgentShow', () => { }); describe('default behaviour', () => { - beforeEach(() => { - return createWrapper({ clusterAgent: defaultClusterAgent }); + beforeEach(async () => { + createWrapper({ clusterAgent: defaultClusterAgent }); + await waitForPromises(); + }); + + it('sends expected params', () => { + const variables = { + agentName: provide.agentName, + projectPath: provide.projectPath, + tokenStatus: TOKEN_STATUS_ACTIVE, + first: MAX_LIST_COUNT, + last: null, + }; + + expect(agentQueryResponse).toHaveBeenCalledWith(variables); }); it('displays the agent name', () => { @@ -117,11 +132,13 @@ describe('ClusterAgentShow', () => { createdByUser: null, }; - beforeEach(() => { - return createWrapper({ clusterAgent: missingUser }); + beforeEach(async () => { + createWrapper({ clusterAgent: missingUser }); + await waitForPromises(); }); - it('displays agent create information with unknown user', () => { + it('displays agent create information with unknown user', async () => { + await waitForPromises(); expect(findCreatedText()).toMatchInterpolatedText('Created by Unknown user 2 days ago'); }); }); @@ -132,23 +149,30 @@ describe('ClusterAgentShow', () => { tokens: null, }; - beforeEach(() => { - return createWrapper({ clusterAgent: missingTokens }); + beforeEach(async () => { + createWrapper({ clusterAgent: missingTokens }); + await waitForPromises(); }); - it('displays token header with no count', () => { + it('displays token header with no count', async () => { + await waitForPromises(); expect(findTokenCount()).toMatchInterpolatedText(`${ClusterAgentShow.i18n.tokens}`); }); }); describe('when the token list has additional pages', () => { - const pageInfo = { + const pageInfoResponse = { hasNextPage: true, hasPreviousPage: false, startCursor: 'prev', endCursor: 'next', }; + const pageInfo = { + ...pageInfoResponse, + __typename: 'PageInfo', + }; + const tokenPagination = { ...defaultClusterAgent, tokens: { @@ -157,8 +181,9 @@ describe('ClusterAgentShow', () => { }, }; - beforeEach(() => { - return createWrapper({ clusterAgent: tokenPagination }); + beforeEach(async () => { + createWrapper({ clusterAgent: tokenPagination }); + await waitForPromises(); }); it('should render pagination buttons', () => { @@ -166,7 +191,7 @@ describe('ClusterAgentShow', () => { }); it('should pass pageInfo to the pagination component', () => { - expect(findPaginationButtons().props()).toMatchObject(pageInfo); + expect(findPaginationButtons().props()).toMatchObject(pageInfoResponse); }); }); |