44 lines
1.2 KiB
JavaScript
44 lines
1.2 KiB
JavaScript
|
import LabelsSelect from '~/labels_select';
|
||
|
|
||
|
const mockUrl = '/foo/bar/url';
|
||
|
|
||
|
const mockLabels = [
|
||
|
{
|
||
|
id: 26,
|
||
|
title: 'Foo Label',
|
||
|
description: 'Foobar',
|
||
|
color: '#BADA55',
|
||
|
text_color: '#FFFFFF',
|
||
|
},
|
||
|
];
|
||
|
|
||
|
describe('LabelsSelect', () => {
|
||
|
describe('getLabelTemplate', () => {
|
||
|
const label = mockLabels[0];
|
||
|
let $labelEl;
|
||
|
|
||
|
beforeEach(() => {
|
||
|
$labelEl = $(LabelsSelect.getLabelTemplate({
|
||
|
labels: mockLabels,
|
||
|
issueUpdateURL: mockUrl,
|
||
|
}));
|
||
|
});
|
||
|
|
||
|
it('generated label item template has correct label URL', () => {
|
||
|
expect($labelEl.attr('href')).toBe('/foo/bar?label_name[]=Foo%20Label');
|
||
|
});
|
||
|
|
||
|
it('generated label item template has correct label title', () => {
|
||
|
expect($labelEl.find('span.label').text()).toBe(label.title);
|
||
|
});
|
||
|
|
||
|
it('generated label item template has label description as title attribute', () => {
|
||
|
expect($labelEl.find('span.label').attr('title')).toBe(label.description);
|
||
|
});
|
||
|
|
||
|
it('generated label item template has correct label styles', () => {
|
||
|
expect($labelEl.find('span.label').attr('style')).toBe(`background-color: ${label.color}; color: ${label.text_color};`);
|
||
|
});
|
||
|
});
|
||
|
});
|