diff options
Diffstat (limited to 'spec/frontend/pages/import/bitbucket_server/components/bitbucket_server_status_table_spec.js')
-rw-r--r-- | spec/frontend/pages/import/bitbucket_server/components/bitbucket_server_status_table_spec.js | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/spec/frontend/pages/import/bitbucket_server/components/bitbucket_server_status_table_spec.js b/spec/frontend/pages/import/bitbucket_server/components/bitbucket_server_status_table_spec.js new file mode 100644 index 00000000000..0bb96ee33d4 --- /dev/null +++ b/spec/frontend/pages/import/bitbucket_server/components/bitbucket_server_status_table_spec.js @@ -0,0 +1,47 @@ +import { shallowMount } from '@vue/test-utils'; + +import { GlButton } from '@gitlab/ui'; +import BitbucketServerStatusTable from '~/pages/import/bitbucket_server/status/components/bitbucket_server_status_table.vue'; +import BitbucketStatusTable from '~/import_projects/components/bitbucket_status_table.vue'; + +const BitbucketStatusTableStub = { + name: 'BitbucketStatusTable', + template: '<div><slot name="actions"></slot></div>', +}; + +describe('BitbucketServerStatusTable', () => { + let wrapper; + + const findReconfigureButton = () => + wrapper + .findAll(GlButton) + .filter(w => w.props().variant === 'info') + .at(0); + + afterEach(() => { + if (wrapper) { + wrapper.destroy(); + wrapper = null; + } + }); + + function createComponent(bitbucketStatusTableStub = true) { + wrapper = shallowMount(BitbucketServerStatusTable, { + propsData: { providerTitle: 'Test', reconfigurePath: '/reconfigure' }, + stubs: { + BitbucketStatusTable: bitbucketStatusTableStub, + }, + }); + } + + it('renders bitbucket status table component', () => { + createComponent(); + expect(wrapper.contains(BitbucketStatusTable)).toBe(true); + }); + + it('renders Reconfigure button', async () => { + createComponent(BitbucketStatusTableStub); + expect(findReconfigureButton().attributes().href).toBe('/reconfigure'); + expect(findReconfigureButton().text()).toBe('Reconfigure'); + }); +}); |