debian-mirror-gitlab/spec/frontend/google_cloud/components/home_spec.js

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

67 lines
2.1 KiB
JavaScript
Raw Normal View History

2022-01-26 12:08:38 +05:30
import { shallowMount } from '@vue/test-utils';
import { GlTab, GlTabs } from '@gitlab/ui';
import Home from '~/google_cloud/components/home.vue';
import ServiceAccountsList from '~/google_cloud/components/service_accounts_list.vue';
describe('google_cloud Home component', () => {
let wrapper;
const findTabs = () => wrapper.findComponent(GlTabs);
const findTabItems = () => findTabs().findAllComponents(GlTab);
const findTabItemsModel = () =>
findTabs()
.findAllComponents(GlTab)
.wrappers.map((x) => ({
title: x.attributes('title'),
disabled: x.attributes('disabled'),
}));
const TEST_HOME_PROPS = {
serviceAccounts: [{}, {}],
2022-05-07 20:08:51 +05:30
gcpRegions: [{}, {}],
2022-01-26 12:08:38 +05:30
createServiceAccountUrl: '#url-create-service-account',
2022-05-07 20:08:51 +05:30
configureGcpRegionsUrl: '#url-configure-gcp-regions',
2022-01-26 12:08:38 +05:30
emptyIllustrationUrl: '#url-empty-illustration',
2022-04-04 11:22:00 +05:30
enableCloudRunUrl: '#url-enable-cloud-run',
enableCloudStorageUrl: '#enableCloudStorageUrl',
2022-05-07 20:08:51 +05:30
revokeOauthUrl: '#revokeOauthUrl',
2022-01-26 12:08:38 +05:30
};
beforeEach(() => {
const propsData = {
screen: 'home',
...TEST_HOME_PROPS,
};
wrapper = shallowMount(Home, { propsData });
});
afterEach(() => {
wrapper.destroy();
});
describe('google_cloud App tabs', () => {
it('should contain tabs', () => {
expect(findTabs().exists()).toBe(true);
});
it('should contain three tab items', () => {
expect(findTabItemsModel()).toEqual([
{ title: 'Configuration', disabled: undefined },
2022-03-02 08:16:31 +05:30
{ title: 'Deployments', disabled: undefined },
2022-01-26 12:08:38 +05:30
{ title: 'Services', disabled: '' },
]);
});
describe('configuration tab', () => {
it('should contain service accounts component', () => {
const serviceAccounts = findTabItems().at(0).findComponent(ServiceAccountsList);
expect(serviceAccounts.props()).toEqual({
list: TEST_HOME_PROPS.serviceAccounts,
createUrl: TEST_HOME_PROPS.createServiceAccountUrl,
emptyIllustrationUrl: TEST_HOME_PROPS.emptyIllustrationUrl,
});
});
});
});
});