aboutsummaryrefslogtreecommitdiffstats
path: root/tests/msw/handlers
diff options
context:
space:
mode:
authorArmand Philippot <git@armandphilippot.com>2023-12-01 13:26:44 +0100
committerArmand Philippot <git@armandphilippot.com>2023-12-01 17:23:19 +0100
commitdfdbf6cac1fe3719dc71e130129d28e04ba4e225 (patch)
treef865bdad53cef95bdfb10fc04174a0173ab36f15 /tests/msw/handlers
parent5b762b1b669454a89899c4bdf6008027d9615acf (diff)
refactor(pages): refine Thematic pages
* add a table of contents (however posts heading are not included) * rename posts list section title * add a useThematic hook to refresh thematic contents * add a useThematicLists hook to refresh thematics list * add a `notIn` filter in thematics list fetcher to directly remove unwanted thematics * add Cypress tests
Diffstat (limited to 'tests/msw/handlers')
-rw-r--r--tests/msw/handlers/thematics/thematics-list.handler.ts11
-rw-r--r--tests/msw/handlers/topics/topics-list.handler.ts9
2 files changed, 14 insertions, 6 deletions
diff --git a/tests/msw/handlers/thematics/thematics-list.handler.ts b/tests/msw/handlers/thematics/thematics-list.handler.ts
index f206247..7afec4c 100644
--- a/tests/msw/handlers/thematics/thematics-list.handler.ts
+++ b/tests/msw/handlers/thematics/thematics-list.handler.ts
@@ -23,12 +23,17 @@ export const thematicsListHandler = graphql.query<
variableValues: variables,
rootValue: {
thematics({ after, first, where }: typeof variables) {
- const { search, title } = where ?? {};
+ const { notIn, search, title } = where ?? {};
+ const filteredThematicsById = notIn
+ ? wpThematicsFixture.filter(
+ (thematic) => !notIn.includes(thematic.databaseId)
+ )
+ : wpThematicsFixture;
const filteredThematicsByTitle = title
- ? wpThematicsFixture.filter((thematic) =>
+ ? filteredThematicsById.filter((thematic) =>
thematic.title.includes(title)
)
- : wpThematicsFixture;
+ : filteredThematicsById;
const filteredThematics = search
? filteredThematicsByTitle.filter((thematic) =>
thematic.title.includes(search)
diff --git a/tests/msw/handlers/topics/topics-list.handler.ts b/tests/msw/handlers/topics/topics-list.handler.ts
index 5e3e31a..4b09c5a 100644
--- a/tests/msw/handlers/topics/topics-list.handler.ts
+++ b/tests/msw/handlers/topics/topics-list.handler.ts
@@ -23,10 +23,13 @@ export const topicsListHandler = graphql.query<
variableValues: variables,
rootValue: {
topics({ after, first, where }: typeof variables) {
- const { search, title } = where ?? {};
- const filteredTopicsByTitle = title
- ? wpTopicsFixture.filter((topic) => topic.title.includes(title))
+ const { notIn, search, title } = where ?? {};
+ const filteredTopicsById = notIn
+ ? wpTopicsFixture.filter((topic) => !notIn.includes(topic.databaseId))
: wpTopicsFixture;
+ const filteredTopicsByTitle = title
+ ? filteredTopicsById.filter((topic) => topic.title.includes(title))
+ : filteredTopicsById;
const filteredTopics = search
? filteredTopicsByTitle.filter((topic) =>
topic.title.includes(search)