diff options
| author | Ruben Beltran del Rio <ruben@unlimited.pizza> | 2021-04-20 23:38:02 +0200 |
|---|---|---|
| committer | Ruben Beltran del Rio <ruben@unlimited.pizza> | 2021-04-20 23:38:02 +0200 |
| commit | 47b0bfe47e6f13d549897149b0abc4a72ba8ac88 (patch) | |
| tree | cd694411d47898a4eb10b1c0e6787f81fce6f0e6 /src/components/topic_summary | |
| parent | 879fa389c2592760def75177eefbd3193e1845c9 (diff) | |
Add tests to second batch of components
- Error Block
- Forum List
- Language Selector
- Post
- Tag
- Topic Summary
Diffstat (limited to 'src/components/topic_summary')
| -rw-r--r-- | src/components/topic_summary/topic_summary.svelte | 16 | ||||
| -rw-r--r-- | src/components/topic_summary/topic_summary.test.js | 43 |
2 files changed, 50 insertions, 9 deletions
diff --git a/src/components/topic_summary/topic_summary.svelte b/src/components/topic_summary/topic_summary.svelte index 5f2678b..86e51d1 100644 --- a/src/components/topic_summary/topic_summary.svelte +++ b/src/components/topic_summary/topic_summary.svelte @@ -9,16 +9,14 @@ </script> <li class="h-entry" title={$_('topic.title')}> - <span class="p-name" - ><a class="u-url u-uid" title={$_('topic.permalink_title')} href="/t/{topic.id}" - >{topic.title}</a - ></span - > - <span class="topic-ttl" - >({$_('topic.remaining_time', { + <span class="p-name"> + <a class="u-url u-uid" title={$_('topic.permalink_title')} href="/t/{topic.id}"> + {topic.title} + </a></span> + <span class="topic-ttl">({$_('topic.remaining_time', { values: { remaining: $_(remaining.label, { values: { count: remaining.count } }) } - })})</span - > + })}) + </span> </li> <style> diff --git a/src/components/topic_summary/topic_summary.test.js b/src/components/topic_summary/topic_summary.test.js new file mode 100644 index 0000000..9122730 --- /dev/null +++ b/src/components/topic_summary/topic_summary.test.js @@ -0,0 +1,43 @@ +import '@testing-library/jest-dom/extend-expect'; + +import { render } from '@testing-library/svelte'; +import '$/config/i18n'; + +import TopicSummary from './topic_summary.svelte'; + +const internals = { + results: null +}; + +describe('Topic Summary component', () => { + + beforeEach(() => { + + internals.results = render(TopicSummary, { props: { + topic: { + id: 'ea2431c8-5c1c-4ed0-907a-45e012696ab8', + title: 'I sure am a test topic', + ttl: 160 * 1000, + updated_at: Date.now() + } + } }); + }); + + test('It should display the title', () => { + + expect(internals.results.getByText('I sure am a test topic')) + .toBeVisible(); + }); + + test('Topic title should be a permalink', () => { + + expect(internals.results.getByText('I sure am a test topic').closest('a')) + .toHaveAttribute('href', '/t/ea2431c8-5c1c-4ed0-907a-45e012696ab8'); + }); + + test('It should display remaining time in readable format', () => { + + expect(internals.results.getByText(/2 minutes remaining/)) + .toBeVisible(); + }); +}); |