2017-06-12 05:20:19 -04:00
|
|
|
import Vue from 'vue';
|
|
|
|
import sidebarDetailRow from '~/jobs/components/sidebar_detail_row.vue';
|
|
|
|
|
|
|
|
describe('Sidebar detail row', () => {
|
|
|
|
let SidebarDetailRow;
|
|
|
|
let vm;
|
|
|
|
|
|
|
|
beforeEach(() => {
|
|
|
|
SidebarDetailRow = Vue.extend(sidebarDetailRow);
|
|
|
|
});
|
|
|
|
|
|
|
|
afterEach(() => {
|
|
|
|
vm.$destroy();
|
|
|
|
});
|
|
|
|
|
|
|
|
it('should render no title', () => {
|
|
|
|
vm = new SidebarDetailRow({
|
|
|
|
propsData: {
|
|
|
|
value: 'this is the value',
|
|
|
|
},
|
|
|
|
}).$mount();
|
|
|
|
|
|
|
|
expect(vm.$el.textContent.replace(/\s+/g, ' ').trim()).toEqual('this is the value');
|
|
|
|
});
|
|
|
|
|
|
|
|
beforeEach(() => {
|
|
|
|
vm = new SidebarDetailRow({
|
|
|
|
propsData: {
|
|
|
|
title: 'this is the title',
|
|
|
|
value: 'this is the value',
|
|
|
|
},
|
|
|
|
}).$mount();
|
|
|
|
});
|
|
|
|
|
|
|
|
it('should render provided title and value', () => {
|
|
|
|
expect(
|
|
|
|
vm.$el.textContent.replace(/\s+/g, ' ').trim(),
|
|
|
|
).toEqual('this is the title: this is the value');
|
|
|
|
});
|
2018-02-28 16:30:06 -05:00
|
|
|
|
2018-03-07 17:53:15 -05:00
|
|
|
describe('when helpUrl not provided', () => {
|
|
|
|
it('should not render help', () => {
|
|
|
|
expect(vm.$el.querySelector('.help-button')).toBeNull();
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
describe('when helpUrl provided', () => {
|
|
|
|
beforeEach(() => {
|
|
|
|
vm = new SidebarDetailRow({
|
|
|
|
propsData: {
|
|
|
|
helpUrl: 'help url',
|
|
|
|
value: 'foo',
|
|
|
|
},
|
|
|
|
}).$mount();
|
|
|
|
});
|
|
|
|
|
|
|
|
it('should render help', () => {
|
|
|
|
expect(vm.$el.querySelector('.help-button a').getAttribute('href')).toEqual('help url');
|
|
|
|
});
|
2018-02-28 16:30:06 -05:00
|
|
|
});
|
2017-06-12 05:20:19 -04:00
|
|
|
});
|