48 lines
1.2 KiB
JavaScript
48 lines
1.2 KiB
JavaScript
import { GlButton } from '@gitlab/ui';
|
|
import { shallowMount } from '@vue/test-utils';
|
|
import CiVariablePopover from '~/ci_variable_list/components/ci_variable_popover.vue';
|
|
import mockData from '../services/mock_data';
|
|
|
|
describe('Ci Variable Popover', () => {
|
|
let wrapper;
|
|
|
|
const defaultProps = {
|
|
target: 'ci-variable-value-22',
|
|
value: mockData.mockPemCert,
|
|
tooltipText: 'Copy value',
|
|
};
|
|
|
|
const createComponent = (props = defaultProps) => {
|
|
wrapper = shallowMount(CiVariablePopover, {
|
|
propsData: { ...props },
|
|
});
|
|
};
|
|
|
|
const findButton = () => wrapper.find(GlButton);
|
|
|
|
beforeEach(() => {
|
|
createComponent();
|
|
});
|
|
|
|
afterEach(() => {
|
|
wrapper.destroy();
|
|
wrapper = null;
|
|
});
|
|
|
|
it('displays max count plus ... when character count is over 95', () => {
|
|
expect(wrapper.text()).toHaveLength(98);
|
|
});
|
|
|
|
it('copies full value to clipboard', () => {
|
|
expect(findButton().attributes('data-clipboard-text')).toEqual(mockData.mockPemCert);
|
|
});
|
|
|
|
it('displays full value when count is less than max count', () => {
|
|
createComponent({
|
|
target: 'ci-variable-value-22',
|
|
value: 'test_variable_value',
|
|
tooltipText: 'Copy value',
|
|
});
|
|
expect(wrapper.text()).toEqual('test_variable_value');
|
|
});
|
|
});
|