1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
/**
* @jest-environment jsdom
*/
import '@testing-library/jest-dom/extend-expect';
import { render } from '@testing-library/svelte';
import '$lib/i18n';
import Tag from './tag.svelte';
const internals = {
results: null
};
describe('Tag component', () => {
beforeEach(() => {
internals.results = render(Tag, {
props: {
tag: {
id: 'avocado',
topics: [
{
id: 'eb751e7a-5777-46c3-b81b-cc66546d5157',
title: 'A single topic',
ttl: 160 * 1000,
updated_at: Date.now()
},
{
id: 'b4a5613c-237b-4147-a867-9c105d51e365',
title: 'And its companion',
ttl: 160 * 1000,
updated_at: Date.now()
}
]
}
}
});
});
test('It should display the tag title', () => {
expect(internals.results.getByText('Tag: avocado')).toBeVisible();
});
test('It should display the topics', () => {
expect(internals.results.getByText('A single topic')).toBeVisible();
expect(internals.results.getByText('And its companion')).toBeVisible();
});
test('It should link to the topics', () => {
expect(internals.results.getByText('A single topic').closest('a')).toHaveAttribute(
'href',
'/t/eb751e7a-5777-46c3-b81b-cc66546d5157'
);
expect(internals.results.getByText('And its companion').closest('a')).toHaveAttribute(
'href',
'/t/b4a5613c-237b-4147-a867-9c105d51e365'
);
});
});
|