From 5b762b1b669454a89899c4bdf6008027d9615acf Mon Sep 17 00:00:00 2001 From: Armand Philippot Date: Thu, 30 Nov 2023 19:30:43 +0100 Subject: refactor(pages): refine Article pages * use rehype to update code blocks class names * fix widget heading level (after a level 1 it should always be a level 2 and not 3) * replace Spinner with LoadingPage and LoadingPageComments components to keep layout coherent * refactor useArticle and useComments hooks * fix URLs in JSON LD schema * add Cypress tests --- .../helpers/convert-post-to-article.test.ts | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) (limited to 'src/services/graphql/helpers/convert-post-to-article.test.ts') diff --git a/src/services/graphql/helpers/convert-post-to-article.test.ts b/src/services/graphql/helpers/convert-post-to-article.test.ts index 0a1c359..9fd74af 100644 --- a/src/services/graphql/helpers/convert-post-to-article.test.ts +++ b/src/services/graphql/helpers/convert-post-to-article.test.ts @@ -1,11 +1,12 @@ import { describe, expect, it } from '@jest/globals'; import type { WPPost } from '../../../types'; +import { ROUTES } from '../../../utils/constants'; import { convertPostToArticle } from './convert-post-to-article'; import { convertWPImgToImg } from './convert-wp-image-to-img'; describe('convert-post-to-article', () => { /* eslint-disable max-statements */ - it('converts a WPPost object to an Article object', async () => { + it('converts a WPPost object to an Article object', () => { const post: WPPost = { acfPosts: null, author: { node: { name: 'Vince5' } }, @@ -28,10 +29,7 @@ describe('convert-post-to-article', () => { slug: '/the-post-slug', title: 'ea vero repellat', }; - const result = await convertPostToArticle(post); - - // eslint-disable-next-line @typescript-eslint/no-magic-numbers - expect.assertions(15); + const result = convertPostToArticle(post); expect(result.content).toBe(post.contentParts.afterMore); expect(result.id).toBe(post.databaseId); @@ -46,12 +44,12 @@ describe('convert-post-to-article', () => { expect(result.meta.thematics).toBeUndefined(); expect(result.meta.topics).toBeUndefined(); expect(result.meta.wordsCount).toBe(post.info.wordsCount); - expect(result.slug).toBe(post.slug); + expect(result.slug).toBe(`${ROUTES.ARTICLE}/${post.slug}`); expect(result.title).toBe(post.title); }); /* eslint-enable max-statements */ - it('can convert the cover', async () => { + it('can convert the cover', () => { const post = { acfPosts: null, author: { node: { name: 'Vince5' } }, @@ -84,16 +82,14 @@ describe('convert-post-to-article', () => { slug: '/the-post-slug', title: 'ea vero repellat', } satisfies WPPost; - const result = await convertPostToArticle(post); - - expect.assertions(1); + const result = convertPostToArticle(post); expect(result.meta.cover).toStrictEqual( convertWPImgToImg(post.featuredImage.node) ); }); - it('can return 0 as comment count when not defined', async () => { + it('can return 0 as comment count when not defined', () => { const post: WPPost = { acfPosts: null, author: { node: { name: 'Vince5' } }, @@ -116,9 +112,7 @@ describe('convert-post-to-article', () => { slug: '/the-post-slug', title: 'ea vero repellat', }; - const result = await convertPostToArticle(post); - - expect.assertions(1); + const result = convertPostToArticle(post); expect(result.meta.commentsCount).toBe(0); }); -- cgit v1.2.3