From 56878f647ea0f1066fa3e222d7aa0d83057f496d Mon Sep 17 00:00:00 2001
From: Armand Philippot <git@armandphilippot.com>
Date: Mon, 13 Nov 2023 17:45:59 +0100
Subject: refactor(components): rewrite PostsList component

* remove NoResults component and move logic to Search page
* add a usePostsList hook
* remove Pagination from PostsList (it is only used if javascript is
disabled and not on every posts list)
* replace `byYear` prop with `sortByYear`
* replace `loadMore` prop with `onLoadMore`
* remove `showLoadMoreBtn` (we can use `loadMore` prop instead to
determine if we need to display the button)
* replace `titleLevel` prop with `headingLvl`
* add `firstNewResult` prop to handle focus on the new results when
loading more article (we should not focus a useless span but the item
directly)
---
 .../organisms/layout/posts-list.test.tsx           | 31 ----------------------
 1 file changed, 31 deletions(-)
 delete mode 100644 src/components/organisms/layout/posts-list.test.tsx

(limited to 'src/components/organisms/layout/posts-list.test.tsx')

diff --git a/src/components/organisms/layout/posts-list.test.tsx b/src/components/organisms/layout/posts-list.test.tsx
deleted file mode 100644
index fabf31f..0000000
--- a/src/components/organisms/layout/posts-list.test.tsx
+++ /dev/null
@@ -1,31 +0,0 @@
-import { describe, expect, it } from '@jest/globals';
-import { render, screen as rtlScreen } from '../../../../tests/utils';
-import { PostsList } from './posts-list';
-import { posts } from './posts-list.fixture';
-
-describe('PostsList', () => {
-  it('renders the correct number of posts', () => {
-    render(<PostsList posts={posts} total={posts.length} />);
-    expect(rtlScreen.getAllByRole('article')).toHaveLength(posts.length);
-  });
-
-  it('renders the number of loaded posts', () => {
-    render(<PostsList posts={posts} total={posts.length} />);
-    const info = `${posts.length} loaded articles out of a total of ${posts.length}`;
-    expect(rtlScreen.getByText(info)).toBeInTheDocument();
-  });
-
-  it('renders a load more button', () => {
-    render(
-      <PostsList posts={posts} total={posts.length} showLoadMoreBtn={true} />
-    );
-    expect(
-      rtlScreen.getByRole('button', { name: /Load more/i })
-    ).toBeInTheDocument();
-  });
-
-  it('renders a search form if no results', () => {
-    render(<PostsList posts={[]} total={0} showLoadMoreBtn={true} />);
-    expect(rtlScreen.getByRole('searchbox')).toBeInTheDocument();
-  });
-});
-- 
cgit v1.2.3

