38 lines
1.1 KiB
JavaScript
38 lines
1.1 KiB
JavaScript
import { GlButton } from '@gitlab/ui';
|
|
import { shallowMount } from '@vue/test-utils';
|
|
import MonitoringComponent from '~/environments/components/environment_monitoring.vue';
|
|
|
|
describe('Monitoring Component', () => {
|
|
let wrapper;
|
|
|
|
const monitoringUrl = 'https://gitlab.com';
|
|
|
|
const createWrapper = () => {
|
|
wrapper = shallowMount(MonitoringComponent, {
|
|
propsData: {
|
|
monitoringUrl,
|
|
},
|
|
});
|
|
};
|
|
|
|
const findButtons = () => wrapper.findAll(GlButton);
|
|
const findButtonsByIcon = (icon) =>
|
|
findButtons().filter((button) => button.props('icon') === icon);
|
|
|
|
beforeEach(() => {
|
|
createWrapper();
|
|
});
|
|
|
|
describe('computed', () => {
|
|
it('title', () => {
|
|
expect(wrapper.vm.title).toBe('Monitoring');
|
|
});
|
|
});
|
|
|
|
it('should render a link to environment monitoring page', () => {
|
|
expect(wrapper.attributes('href')).toEqual(monitoringUrl);
|
|
expect(findButtonsByIcon('chart').length).toBe(1);
|
|
expect(wrapper.attributes('title')).toBe('Monitoring');
|
|
expect(wrapper.attributes('aria-label')).toBe('Monitoring');
|
|
});
|
|
});
|