40 lines
1.6 KiB
JavaScript
40 lines
1.6 KiB
JavaScript
import { mount } from '@vue/test-utils';
|
|
import { GlBadge, GlTooltip } from '@gitlab/ui';
|
|
import { extendedWrapper } from 'helpers/vue_test_utils_helper';
|
|
import FeatureCardBadge from '~/security_configuration/components/feature_card_badge.vue';
|
|
|
|
describe('Feature card badge component', () => {
|
|
let wrapper;
|
|
|
|
const createComponent = (propsData) => {
|
|
wrapper = extendedWrapper(
|
|
mount(FeatureCardBadge, {
|
|
propsData,
|
|
}),
|
|
);
|
|
};
|
|
|
|
const findTooltip = () => wrapper.findComponent(GlTooltip);
|
|
const findBadge = () => wrapper.findComponent(GlBadge);
|
|
|
|
describe('tooltip render', () => {
|
|
describe.each`
|
|
context | badge | badgeHref
|
|
${'href on a badge object'} | ${{ tooltipText: 'test', badgeHref: 'href' }} | ${undefined}
|
|
${'href as property '} | ${{ tooltipText: null, badgeHref: '' }} | ${'link'}
|
|
${'default href no property on badge or component'} | ${{ tooltipText: null, badgeHref: '' }} | ${undefined}
|
|
`('given $context', ({ badge, badgeHref }) => {
|
|
beforeEach(() => {
|
|
createComponent({ badge, badgeHref });
|
|
});
|
|
|
|
it('should show badge when badge given in configuration and available', () => {
|
|
expect(findTooltip().exists()).toBe(Boolean(badge && badge.tooltipText));
|
|
});
|
|
|
|
it('should render correct link if link is provided', () => {
|
|
expect(findBadge().attributes().href).toEqual(badgeHref);
|
|
});
|
|
});
|
|
});
|
|
});
|