47 lines
1.3 KiB
JavaScript
47 lines
1.3 KiB
JavaScript
import { merge } from 'lodash';
|
|
import { GlTable, GlButton } from '@gitlab/ui';
|
|
|
|
import { mountExtended } from 'helpers/vue_test_utils_helper';
|
|
import DeployKeysTable from '~/admin/deploy_keys/components/table.vue';
|
|
|
|
describe('DeployKeysTable', () => {
|
|
let wrapper;
|
|
|
|
const defaultProvide = {
|
|
createPath: '/admin/deploy_keys/new',
|
|
deletePath: '/admin/deploy_keys/:id',
|
|
editPath: '/admin/deploy_keys/:id/edit',
|
|
emptyStateSvgPath: '/assets/illustrations/empty-state/empty-deploy-keys.svg',
|
|
};
|
|
|
|
const createComponent = (provide = {}) => {
|
|
wrapper = mountExtended(DeployKeysTable, {
|
|
provide: merge({}, defaultProvide, provide),
|
|
});
|
|
};
|
|
|
|
afterEach(() => {
|
|
wrapper.destroy();
|
|
});
|
|
|
|
it('renders page title', () => {
|
|
createComponent();
|
|
|
|
expect(wrapper.findByText(DeployKeysTable.i18n.pageTitle).exists()).toBe(true);
|
|
});
|
|
|
|
it('renders table', () => {
|
|
createComponent();
|
|
|
|
expect(wrapper.findComponent(GlTable).exists()).toBe(true);
|
|
});
|
|
|
|
it('renders `New deploy key` button', () => {
|
|
createComponent();
|
|
|
|
const newDeployKeyButton = wrapper.findComponent(GlButton);
|
|
|
|
expect(newDeployKeyButton.text()).toBe(DeployKeysTable.i18n.newDeployKeyButtonText);
|
|
expect(newDeployKeyButton.attributes('href')).toBe(defaultProvide.createPath);
|
|
});
|
|
});
|