diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-03-29 21:09:37 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-03-29 21:09:37 +0300 |
commit | 5b2abea8db1916c96027ce3a48e797003316e557 (patch) | |
tree | 611bee3c604c65707a4920c051cd18f9ba4d0e0d /spec/frontend/vue_shared/components/runner_instructions | |
parent | 09ff71d425b83646eed07d52078111ccbd4b84a9 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/frontend/vue_shared/components/runner_instructions')
-rw-r--r-- | spec/frontend/vue_shared/components/runner_instructions/runner_instructions_spec.js | 40 |
1 files changed, 37 insertions, 3 deletions
diff --git a/spec/frontend/vue_shared/components/runner_instructions/runner_instructions_spec.js b/spec/frontend/vue_shared/components/runner_instructions/runner_instructions_spec.js index 48db60bfd33..4446c3cd88f 100644 --- a/spec/frontend/vue_shared/components/runner_instructions/runner_instructions_spec.js +++ b/spec/frontend/vue_shared/components/runner_instructions/runner_instructions_spec.js @@ -1,3 +1,4 @@ +import { GlAlert } from '@gitlab/ui'; import { shallowMount, createLocalVue } from '@vue/test-utils'; import VueApollo from 'vue-apollo'; import createMockApollo from 'helpers/mock_apollo_helper'; @@ -14,7 +15,10 @@ localVue.use(VueApollo); describe('RunnerInstructions component', () => { let wrapper; let fakeApollo; + let runnerPlatformsHandler; + let runnerSetupInstructionsHandler; + const findAlert = () => wrapper.findComponent(GlAlert); const findModalButton = () => wrapper.find('[data-testid="show-modal-button"]'); const findPlatformButtons = () => wrapper.findAll('[data-testid="platform-button"]'); const findArchitectureDropdownItems = () => @@ -22,10 +26,10 @@ describe('RunnerInstructions component', () => { const findBinaryInstructionsSection = () => wrapper.find('[data-testid="binary-instructions"]'); const findRunnerInstructionsSection = () => wrapper.find('[data-testid="runner-instructions"]'); - beforeEach(async () => { + const createComponent = () => { const requestHandlers = [ - [getRunnerPlatforms, jest.fn().mockResolvedValue(mockGraphqlRunnerPlatforms)], - [getRunnerSetupInstructions, jest.fn().mockResolvedValue(mockGraphqlInstructions)], + [getRunnerPlatforms, runnerPlatformsHandler], + [getRunnerSetupInstructions, runnerSetupInstructionsHandler], ]; fakeApollo = createMockApollo(requestHandlers); @@ -37,6 +41,13 @@ describe('RunnerInstructions component', () => { localVue, apolloProvider: fakeApollo, }); + }; + + beforeEach(async () => { + runnerPlatformsHandler = jest.fn().mockResolvedValue(mockGraphqlRunnerPlatforms); + runnerSetupInstructionsHandler = jest.fn().mockResolvedValue(mockGraphqlInstructions); + + createComponent(); await wrapper.vm.$nextTick(); }); @@ -46,6 +57,10 @@ describe('RunnerInstructions component', () => { wrapper = null; }); + it('should not show alert', () => { + expect(findAlert().exists()).toBe(false); + }); + it('should show the "Show Runner installation instructions" button', () => { const button = findModalButton(); @@ -110,4 +125,23 @@ describe('RunnerInstructions component', () => { expect(runner.text()).toMatch(mockGraphqlInstructions.data.runnerSetup.registerInstructions); }); + + describe('when instructions cannot be loaded', () => { + beforeEach(async () => { + runnerSetupInstructionsHandler.mockRejectedValue(); + + createComponent(); + + await wrapper.vm.$nextTick(); + }); + + it('should show alert', () => { + expect(findAlert().exists()).toBe(true); + }); + + it('should not show instructions', () => { + expect(findBinaryInstructionsSection().exists()).toBe(false); + expect(findRunnerInstructionsSection().exists()).toBe(false); + }); + }); }); |