gitlab-org--gitlab-foss/spec/frontend/serverless/components/environment_row_spec.js

71 lines
2.0 KiB
JavaScript
Raw Normal View History

import environmentRowComponent from '~/serverless/components/environment_row.vue';
2019-04-06 02:02:39 +00:00
import { createLocalVue, shallowMount } from '@vue/test-utils';
import { mockServerlessFunctions, mockServerlessFunctionsDiffEnv } from '../mock_data';
2019-04-06 02:02:39 +00:00
import { translate } from '~/serverless/utils';
2019-04-06 02:02:39 +00:00
const createComponent = (localVue, env, envName) =>
shallowMount(environmentRowComponent, { localVue, propsData: { env, envName }, sync: false }).vm;
describe('environment row component', () => {
describe('default global cluster case', () => {
2019-04-06 02:02:39 +00:00
let localVue;
let vm;
beforeEach(() => {
2019-04-06 02:02:39 +00:00
localVue = createLocalVue();
vm = createComponent(localVue, translate(mockServerlessFunctions)['*'], '*');
});
2019-04-06 02:02:39 +00:00
afterEach(() => vm.$destroy());
it('has the correct envId', () => {
expect(vm.envId).toEqual('env-global');
});
it('is open by default', () => {
expect(vm.isOpenClass).toEqual({ 'is-open': true });
});
it('generates correct output', () => {
expect(vm.$el.id).toEqual('env-global');
expect(vm.$el.classList.contains('is-open')).toBe(true);
expect(vm.$el.querySelector('div.title').innerHTML.trim()).toEqual('*');
});
it('opens and closes correctly', () => {
expect(vm.isOpen).toBe(true);
vm.toggleOpen();
2019-04-06 02:02:39 +00:00
expect(vm.isOpen).toBe(false);
});
});
describe('default named cluster case', () => {
let vm;
2019-04-06 02:02:39 +00:00
let localVue;
beforeEach(() => {
2019-04-06 02:02:39 +00:00
localVue = createLocalVue();
vm = createComponent(localVue, translate(mockServerlessFunctionsDiffEnv).test, 'test');
});
2019-04-06 02:02:39 +00:00
afterEach(() => vm.$destroy());
it('has the correct envId', () => {
expect(vm.envId).toEqual('env-test');
});
it('is open by default', () => {
expect(vm.isOpenClass).toEqual({ 'is-open': true });
});
it('generates correct output', () => {
expect(vm.$el.id).toEqual('env-test');
expect(vm.$el.classList.contains('is-open')).toBe(true);
expect(vm.$el.querySelector('div.title').innerHTML.trim()).toEqual('test');
});
});
});