aboutsummaryrefslogtreecommitdiff
path: root/src/components/topic_summary
diff options
context:
space:
mode:
authorRuben Beltran del Rio <ruben@unlimited.pizza>2021-04-20 23:38:02 +0200
committerRuben Beltran del Rio <ruben@unlimited.pizza>2021-04-20 23:38:02 +0200
commit47b0bfe47e6f13d549897149b0abc4a72ba8ac88 (patch)
treecd694411d47898a4eb10b1c0e6787f81fce6f0e6 /src/components/topic_summary
parent879fa389c2592760def75177eefbd3193e1845c9 (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.svelte16
-rw-r--r--src/components/topic_summary/topic_summary.test.js43
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();
+ });
+});