summaryrefslogtreecommitdiff
path: root/spec/frontend/clusters_list/components/node_error_help_text_spec.js
blob: 18d27f3fd806f1e2e6406409e42f16a9dcd18431 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import { GlPopover } from '@gitlab/ui';
import { shallowMount } from '@vue/test-utils';
import NodeErrorHelpText from '~/clusters_list/components/node_error_help_text.vue';

describe('NodeErrorHelpText', () => {
  let wrapper;

  const createWrapper = (propsData) => {
    wrapper = shallowMount(NodeErrorHelpText, { propsData, stubs: { GlPopover } });
    return wrapper.vm.$nextTick();
  };

  const findPopover = () => wrapper.find(GlPopover);

  afterEach(() => {
    wrapper.destroy();
  });

  it.each`
    errorType                 | wrapperText                 | popoverText
    ${'authentication_error'} | ${'Unable to Authenticate'} | ${'GitLab failed to authenticate'}
    ${'connection_error'}     | ${'Unable to Connect'}      | ${'GitLab failed to connect to the cluster'}
    ${'http_error'}           | ${'Unable to Connect'}      | ${'There was an HTTP error when connecting to your cluster'}
    ${'default'}              | ${'Unknown Error'}          | ${'An unknown error occurred while attempting to connect to Kubernetes.'}
    ${'unknown_error_type'}   | ${'Unknown Error'}          | ${'An unknown error occurred while attempting to connect to Kubernetes.'}
    ${null}                   | ${'Unknown Error'}          | ${'An unknown error occurred while attempting to connect to Kubernetes.'}
  `('displays error text', ({ errorType, wrapperText, popoverText }) => {
    return createWrapper({ errorType, popoverId: 'id' }).then(() => {
      expect(wrapper.text()).toContain(wrapperText);
      expect(findPopover().text()).toContain(popoverText);
    });
  });
});