aboutsummaryrefslogtreecommitdiff
path: root/src/components/topic_summary/topic_summary.test.js
blob: 9122730cd4e04bf071fbca427497fd96b63c1855 (plain)
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
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();
  });
});