aboutsummaryrefslogtreecommitdiff
path: root/src/components/topic_summary/topic_summary.test.js
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/topic_summary.test.js
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/topic_summary.test.js')
-rw-r--r--src/components/topic_summary/topic_summary.test.js43
1 files changed, 43 insertions, 0 deletions
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();
+ });
+});