X-Git-Url: https://git.r.bdr.sh/rbdr/forum/blobdiff_plain/a7cf03c192470cbab13edeb1aec99e0c66dede10..852ee620f0a2f6a83cf83eba860ca951b66bb7e2:/src/lib/components/forum_list/forum_list.test.ts diff --git a/src/lib/components/forum_list/forum_list.test.ts b/src/lib/components/forum_list/forum_list.test.ts index be7d449..1670b5c 100644 --- a/src/lib/components/forum_list/forum_list.test.ts +++ b/src/lib/components/forum_list/forum_list.test.ts @@ -12,83 +12,79 @@ import { addMessages } from 'svelte-i18n'; import ForumList from './forum_list.svelte'; const internals = { - results: null + results: null }; describe('Forum List component', () => { - - beforeAll(() => { - - addMessages('en', { - 'test_forums.yes': 'Absolutely yes', - 'test_forums.no': 'No, not at all', - 'test_forums.maybe': 'OK, maybe...' - }); - }); - - beforeEach(() => { - - internals.results = render(ForumList, { props: { - forums: [ - { - id: 'yes', - glyph: '☆', - label: 'test_forums.yes', - position: 2 - }, - { - id: 'no', - glyph: '◯', - label: 'test_forums.no', - position: 0 - }, - { - id: 'maybe', - glyph: '⏀', - label: 'test_forums.maybe', - position: 1 - } - ] - } }); - }); - - test('It should display each forum according to their position', () => { - - expect(internals.results.container) - .toHaveTextContent(/^◯.+⏀.+☆.+$/); - }); - - test('It should translate forum labels', () => { - - expect(internals.results.getByText('Absolutely yes')).toBeVisible(); - expect(internals.results.getByText('No, not at all')).toBeVisible(); - expect(internals.results.getByText('OK, maybe...')).toBeVisible(); - }); - - test('It should display forum glyphs', () => { - - expect(internals.results.getByText('☆')).toBeVisible(); - expect(internals.results.getByText('◯')).toBeVisible(); - expect(internals.results.getByText('⏀')).toBeVisible(); - }); - - test('Label should be a permalink to the forum', () => { - - expect(internals.results.getByText('Absolutely yes').closest('a')) - .toHaveAttribute('href', '/f/yes'); - expect(internals.results.getByText('No, not at all').closest('a')) - .toHaveAttribute('href', '/f/no'); - expect(internals.results.getByText('OK, maybe...').closest('a')) - .toHaveAttribute('href', '/f/maybe'); - }); - - test('Glyph should be a permalink to the forum', () => { - - expect(internals.results.getByText('☆').closest('a')) - .toHaveAttribute('href', '/f/yes'); - expect(internals.results.getByText('◯').closest('a')) - .toHaveAttribute('href', '/f/no'); - expect(internals.results.getByText('⏀').closest('a')) - .toHaveAttribute('href', '/f/maybe'); - }); + beforeAll(() => { + addMessages('en', { + 'test_forums.yes': 'Absolutely yes', + 'test_forums.no': 'No, not at all', + 'test_forums.maybe': 'OK, maybe...' + }); + }); + + beforeEach(() => { + internals.results = render(ForumList, { + props: { + forums: [ + { + id: 'yes', + glyph: '☆', + label: 'test_forums.yes', + position: 2 + }, + { + id: 'no', + glyph: '◯', + label: 'test_forums.no', + position: 0 + }, + { + id: 'maybe', + glyph: '⏀', + label: 'test_forums.maybe', + position: 1 + } + ] + } + }); + }); + + test('It should display each forum according to their position', () => { + expect(internals.results.container).toHaveTextContent(/^◯.+⏀.+☆.+$/); + }); + + test('It should translate forum labels', () => { + expect(internals.results.getByText('Absolutely yes')).toBeVisible(); + expect(internals.results.getByText('No, not at all')).toBeVisible(); + expect(internals.results.getByText('OK, maybe...')).toBeVisible(); + }); + + test('It should display forum glyphs', () => { + expect(internals.results.getByText('☆')).toBeVisible(); + expect(internals.results.getByText('◯')).toBeVisible(); + expect(internals.results.getByText('⏀')).toBeVisible(); + }); + + test('Label should be a permalink to the forum', () => { + expect(internals.results.getByText('Absolutely yes').closest('a')).toHaveAttribute( + 'href', + '/f/yes' + ); + expect(internals.results.getByText('No, not at all').closest('a')).toHaveAttribute( + 'href', + '/f/no' + ); + expect(internals.results.getByText('OK, maybe...').closest('a')).toHaveAttribute( + 'href', + '/f/maybe' + ); + }); + + test('Glyph should be a permalink to the forum', () => { + expect(internals.results.getByText('☆').closest('a')).toHaveAttribute('href', '/f/yes'); + expect(internals.results.getByText('◯').closest('a')).toHaveAttribute('href', '/f/no'); + expect(internals.results.getByText('⏀').closest('a')).toHaveAttribute('href', '/f/maybe'); + }); });