aboutsummaryrefslogtreecommitdiffstats
path: root/tests/cypress
diff options
context:
space:
mode:
authorArmand Philippot <git@armandphilippot.com>2023-12-01 17:59:30 +0100
committerArmand Philippot <git@armandphilippot.com>2023-12-01 18:06:46 +0100
commit11e3ee75fcab0ab54b2bc1713a402c5cc3070c2d (patch)
tree7cb478ac6b29f2b527eb3ec379b305b74dd4f0ba /tests/cypress
parentdfdbf6cac1fe3719dc71e130129d28e04ba4e225 (diff)
refactor(pages): refine Topic pages
* add useTopic and useTopicsList hooks to refresh data * add a table of contents * add Cypress tests
Diffstat (limited to 'tests/cypress')
-rw-r--r--tests/cypress/e2e/pages/topic.cy.ts38
1 files changed, 38 insertions, 0 deletions
diff --git a/tests/cypress/e2e/pages/topic.cy.ts b/tests/cypress/e2e/pages/topic.cy.ts
new file mode 100644
index 0000000..3b30893
--- /dev/null
+++ b/tests/cypress/e2e/pages/topic.cy.ts
@@ -0,0 +1,38 @@
+describe('Topic', () => {
+ beforeEach(() => {
+ cy.visit('/sujet/docker');
+ });
+
+ it('successfully loads', () => {
+ cy.findByRole('heading', { level: 1 }).should('exist');
+ });
+
+ it('contains the topic meta', () => {
+ // eslint-disable-next-line @typescript-eslint/no-magic-numbers
+ cy.findAllByRole('term').should('have.length.at.least', 2);
+
+ /* The accessible name is not recognized while it should be the `dt` text
+ * content */
+ /* cy.findByRole('term', { name: 'Publié le :' }).should('exist');
+ cy.findByRole('term', { name: 'Total :' }).should('exist'); */
+ });
+
+ it('contains a breadcrumbs', () => {
+ cy.findByRole('navigation', { name: 'Fil d’Ariane' }).should('exist');
+ });
+
+ it('contains a table of contents', () => {
+ cy.findByRole('heading', { level: 2, name: 'Table des matières' }).should(
+ 'exist'
+ );
+ });
+
+ it('contains a thematics list widget and a topics list widget', () => {
+ cy.findByRole('heading', { level: 2, name: 'Thématiques connexes' }).should(
+ 'exist'
+ );
+ cy.findByRole('heading', { level: 2, name: 'Autres sujets' }).should(
+ 'exist'
+ );
+ });
+});