]> git.r.bdr.sh - rbdr/forum/blobdiff - src/lib/components/post/post.test.ts
Don't remember what this WIP was about
[rbdr/forum] / src / lib / components / post / post.test.ts
index d43583e8efe7436598bdd347222c0bc3248afe2b..4351f3fa664be6f8cefc2c54245351e8087bf90c 100644 (file)
@@ -10,119 +10,110 @@ import '$lib/i18n';
 import Post from './post.svelte';
 
 const internals = {
-  basicPost: {
-    id: 'e5a19d53-4c9a-4be8-afa5-00942ea3afa4',
-    text: 'This is an example post qwerty',
-    created_at: Date.UTC(2021, 3, 19, 6, 6, 6, 666).valueOf(),
-    author: {
-      handle: 'very_cool_user',
-      id: 'b01bdb48-4b5e-46a4-97f3-6db789bcd33b'
-    },
-    topic: {
-      id: '35d3c3eb-e486-42ef-994c-d8ab1f1e167a',
-      title: 'Parent topic, yes'
-    }
-  },
-  postWithoutTopic: {
-    id: '9e52e38e-9007-4a20-bbf1-cea4e2f950f3',
-    text: 'This is a post without a topic',
-    created_at: Date.UTC(2022, 8, 21, 4, 3, 1, 340).valueOf(),
-    author: {
-      handle: 'my_normal_user',
-      id: '121f8f97-de02-4102-b25d-f34fd619009b'
-    }
-  },
-
-  results: null
+       basicPost: {
+               id: 'e5a19d53-4c9a-4be8-afa5-00942ea3afa4',
+               text: 'This is an example post qwerty',
+               created_at: Date.UTC(2021, 3, 19, 6, 6, 6, 666).valueOf(),
+               author: {
+                       handle: 'very_cool_user',
+                       id: 'b01bdb48-4b5e-46a4-97f3-6db789bcd33b'
+               },
+               topic: {
+                       id: '35d3c3eb-e486-42ef-994c-d8ab1f1e167a',
+                       title: 'Parent topic, yes'
+               }
+       },
+       postWithoutTopic: {
+               id: '9e52e38e-9007-4a20-bbf1-cea4e2f950f3',
+               text: 'This is a post without a topic',
+               created_at: Date.UTC(2022, 8, 21, 4, 3, 1, 340).valueOf(),
+               author: {
+                       handle: 'my_normal_user',
+                       id: '121f8f97-de02-4102-b25d-f34fd619009b'
+               }
+       },
+
+       results: null
 };
 
 describe('Post component', () => {
-
-  beforeEach(() => {
-
-    internals.results = render(Post, { props: {
-      post: internals.basicPost
-    } });
-  });
-
-  test('Should display the text of the post', () => {
-
-    expect(internals.results.getByText('This is an example post qwerty')).toBeVisible();
-  });
-
-  test('Should display date of the post', () => {
-
-    expect(internals.results.getByText('2021-04-19T06:06:06.666Z'))
-      .toBeVisible();
-  });
-
-  test('Date of post should be a permalink to the post', () => {
-
-    expect(internals.results.getByText('2021-04-19T06:06:06.666Z').closest('a'))
-      .toHaveAttribute('href', '/p/e5a19d53-4c9a-4be8-afa5-00942ea3afa4');
-  });
-
-  test('Should display the glyph of the post author', () => {
-
-    const glyphicon = internals.results.getByRole('img');
-
-    expect(glyphicon)
-      .toBeVisible();
-    expect(glyphicon)
-      .toHaveTextContent(/^. . . .$/);
-  });
-
-  test('Should display author handle', () => {
-
-    expect(internals.results.getByText('very_cool_user'))
-      .toBeVisible();
-  });
-
-  test('Author handle should have a permalink to topic', () => {
-
-    expect(internals.results.getByText('very_cool_user').closest('a'))
-      .toHaveAttribute('href', '/a/very_cool_user');
-  });
-
-  test('Should display parent topic title', () => {
-
-    expect(internals.results.getByText('Parent topic, yes'))
-      .toBeVisible();
-  });
-
-  test('Parent topic title should have a permalink to topic', () => {
-
-    expect(internals.results.getByText('Parent topic, yes').closest('a'))
-      .toHaveAttribute('href', '/t/35d3c3eb-e486-42ef-994c-d8ab1f1e167a');
-  });
-
-  test('Parent topic title should have a permalink to topic', () => {
-
-    cleanup();
-    internals.results = render(Post, { props: {
-      post: internals.postWithoutTopic
-    } });
-
-    expect(internals.results.queryByText('Parent topic, yes'))
-      .toBe(null);
-  });
-
-  test('It should default to 1/1 when no index or count is passed', () => {
-
-    expect(internals.results.getByTitle('Post 1 of 1 by very_cool_user'))
-      .toBeVisible();
-  });
-
-  test('Parent topic title should have a permalink to topic', () => {
-
-    cleanup();
-    internals.results = render(Post, { props: {
-      index: 2,
-      count: 5,
-      post: internals.postWithoutTopic
-    } });
-
-    expect(internals.results.getByTitle('Post 3 of 5 by my_normal_user'))
-      .toBeVisible();
-  });
+       beforeEach(() => {
+               internals.results = render(Post, {
+                       props: {
+                               post: internals.basicPost
+                       }
+               });
+       });
+
+       test('Should display the text of the post', () => {
+               expect(internals.results.getByText('This is an example post qwerty')).toBeVisible();
+       });
+
+       test('Should display date of the post', () => {
+               expect(internals.results.getByText('2021-04-19T06:06:06.666Z')).toBeVisible();
+       });
+
+       test('Date of post should be a permalink to the post', () => {
+               expect(internals.results.getByText('2021-04-19T06:06:06.666Z').closest('a')).toHaveAttribute(
+                       'href',
+                       '/p/e5a19d53-4c9a-4be8-afa5-00942ea3afa4'
+               );
+       });
+
+       test('Should display the glyph of the post author', () => {
+               const glyphicon = internals.results.getByRole('img');
+
+               expect(glyphicon).toBeVisible();
+               expect(glyphicon).toHaveTextContent(/^. . . .$/);
+       });
+
+       test('Should display author handle', () => {
+               expect(internals.results.getByText('very_cool_user')).toBeVisible();
+       });
+
+       test('Author handle should have a permalink to topic', () => {
+               expect(internals.results.getByText('very_cool_user').closest('a')).toHaveAttribute(
+                       'href',
+                       '/a/very_cool_user'
+               );
+       });
+
+       test('Should display parent topic title', () => {
+               expect(internals.results.getByText('Parent topic, yes')).toBeVisible();
+       });
+
+       test('Parent topic title should have a permalink to topic', () => {
+               expect(internals.results.getByText('Parent topic, yes').closest('a')).toHaveAttribute(
+                       'href',
+                       '/t/35d3c3eb-e486-42ef-994c-d8ab1f1e167a'
+               );
+       });
+
+       test('Parent topic title should have a permalink to topic', () => {
+               cleanup();
+               internals.results = render(Post, {
+                       props: {
+                               post: internals.postWithoutTopic
+                       }
+               });
+
+               expect(internals.results.queryByText('Parent topic, yes')).toBe(null);
+       });
+
+       test('It should default to 1/1 when no index or count is passed', () => {
+               expect(internals.results.getByTitle('Post 1 of 1 by very_cool_user')).toBeVisible();
+       });
+
+       test('Parent topic title should have a permalink to topic', () => {
+               cleanup();
+               internals.results = render(Post, {
+                       props: {
+                               index: 2,
+                               count: 5,
+                               post: internals.postWithoutTopic
+                       }
+               });
+
+               expect(internals.results.getByTitle('Post 3 of 5 by my_normal_user')).toBeVisible();
+       });
 });