summaryrefslogtreecommitdiff
path: root/spec/frontend/clusters/services/crossplane_provider_stack_spec.js
diff options
context:
space:
mode:
Diffstat (limited to 'spec/frontend/clusters/services/crossplane_provider_stack_spec.js')
-rw-r--r--spec/frontend/clusters/services/crossplane_provider_stack_spec.js85
1 files changed, 0 insertions, 85 deletions
diff --git a/spec/frontend/clusters/services/crossplane_provider_stack_spec.js b/spec/frontend/clusters/services/crossplane_provider_stack_spec.js
deleted file mode 100644
index f95b175ca64..00000000000
--- a/spec/frontend/clusters/services/crossplane_provider_stack_spec.js
+++ /dev/null
@@ -1,85 +0,0 @@
-import { GlDropdownItem, GlIcon } from '@gitlab/ui';
-import { shallowMount } from '@vue/test-utils';
-import CrossplaneProviderStack from '~/clusters/components/crossplane_provider_stack.vue';
-
-describe('CrossplaneProviderStack component', () => {
- let wrapper;
-
- const defaultProps = {
- stacks: [
- {
- name: 'Google Cloud Platform',
- code: 'gcp',
- },
- {
- name: 'Amazon Web Services',
- code: 'aws',
- },
- ],
- };
-
- function createComponent(props = {}) {
- const propsData = {
- ...defaultProps,
- ...props,
- };
-
- wrapper = shallowMount(CrossplaneProviderStack, {
- propsData,
- });
- }
-
- beforeEach(() => {
- const crossplane = {
- title: 'crossplane',
- stack: '',
- };
- createComponent({ crossplane });
- });
-
- const findDropdownElements = () => wrapper.findAll(GlDropdownItem);
- const findFirstDropdownElement = () => findDropdownElements().at(0);
-
- afterEach(() => {
- wrapper.destroy();
- });
-
- it('renders all of the available stacks in the dropdown', () => {
- const dropdownElements = findDropdownElements();
-
- expect(dropdownElements.length).toBe(defaultProps.stacks.length);
-
- defaultProps.stacks.forEach((stack, index) =>
- expect(dropdownElements.at(index).text()).toEqual(stack.name),
- );
- });
-
- it('displays the correct label for the first dropdown item if a stack is selected', () => {
- const crossplane = {
- title: 'crossplane',
- stack: 'gcp',
- };
- createComponent({ crossplane });
- expect(wrapper.vm.dropdownText).toBe('Google Cloud Platform');
- });
-
- it('emits the "set" event with the selected stack value', () => {
- const crossplane = {
- title: 'crossplane',
- stack: 'gcp',
- };
- createComponent({ crossplane });
- findFirstDropdownElement().vm.$emit('click');
- return wrapper.vm.$nextTick().then(() => {
- expect(wrapper.emitted().set[0][0].code).toEqual('gcp');
- });
- });
-
- it('renders the correct dropdown text when no stack is selected', () => {
- expect(wrapper.vm.dropdownText).toBe('Select Stack');
- });
-
- it('renders an external link', () => {
- expect(wrapper.find(GlIcon).props('name')).toBe('external-link');
- });
-});