From ee937de2c476d99c795b3969f0af84ff0d9283f6 Mon Sep 17 00:00:00 2001 From: Nathan Panchout Date: Wed, 13 Nov 2024 15:11:10 +0100 Subject: [PATCH] =?UTF-8?q?=E2=9C=85(frontend)=20update=20tests?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Some minor changes have been integrated into the list of documents. The tests must therefore be adapted accordingly. --- .../apps/e2e/__tests__/app-impress/common.ts | 2 +- .../__tests__/app-impress/doc-header.spec.ts | 10 +++----- .../__tests__/app-impress/doc-routing.spec.ts | 4 +-- .../app-impress/doc-table-content.spec.ts | 1 + .../__tests__/app-impress/language.spec.ts | 18 +++---------- .../__tests__/app-impress/left-panel.spec.ts | 25 +++++++++++++++++++ .../src/components/__tests__/Box.spec.tsx | 4 +-- .../docs/doc-editor/components/DocEditor.tsx | 2 +- 8 files changed, 39 insertions(+), 27 deletions(-) create mode 100644 src/frontend/apps/e2e/__tests__/app-impress/left-panel.spec.ts diff --git a/src/frontend/apps/e2e/__tests__/app-impress/common.ts b/src/frontend/apps/e2e/__tests__/app-impress/common.ts index 8408e38d..5696d927 100644 --- a/src/frontend/apps/e2e/__tests__/app-impress/common.ts +++ b/src/frontend/apps/e2e/__tests__/app-impress/common.ts @@ -36,7 +36,7 @@ export const createDoc = async ( await page .getByRole('button', { - name: 'Create a new document', + name: 'New doc', }) .click(); diff --git a/src/frontend/apps/e2e/__tests__/app-impress/doc-header.spec.ts b/src/frontend/apps/e2e/__tests__/app-impress/doc-header.spec.ts index 97976589..487ac015 100644 --- a/src/frontend/apps/e2e/__tests__/app-impress/doc-header.spec.ts +++ b/src/frontend/apps/e2e/__tests__/app-impress/doc-header.spec.ts @@ -83,7 +83,7 @@ test.describe('Doc Header', () => { test('it updates the title doc from editor heading', async ({ page }) => { await page .getByRole('button', { - name: 'Create a new document', + name: 'New doc', }) .click(); @@ -159,9 +159,7 @@ test.describe('Doc Header', () => { page.getByText('The document has been deleted.'), ).toBeVisible(); - await expect( - page.getByRole('button', { name: 'Create a new document' }), - ).toBeVisible(); + await expect(page.getByRole('button', { name: 'New do' })).toBeVisible(); const row = page .getByLabel('Datagrid of the documents page 1') @@ -414,7 +412,7 @@ test.describe('Doc Header', () => { // create page and navigate to it await page .getByRole('button', { - name: 'Create a new document', + name: 'New doc', }) .click(); @@ -449,7 +447,7 @@ test.describe('Doc Header', () => { // create page and navigate to it await page .getByRole('button', { - name: 'Create a new document', + name: 'New doc', }) .click(); diff --git a/src/frontend/apps/e2e/__tests__/app-impress/doc-routing.spec.ts b/src/frontend/apps/e2e/__tests__/app-impress/doc-routing.spec.ts index 4e26ae2f..4a080dee 100644 --- a/src/frontend/apps/e2e/__tests__/app-impress/doc-routing.spec.ts +++ b/src/frontend/apps/e2e/__tests__/app-impress/doc-routing.spec.ts @@ -9,7 +9,7 @@ test.describe('Doc Routing', () => { test('Check the presence of the meta tag noindex', async ({ page }) => { const buttonCreateHomepage = page.getByRole('button', { - name: 'Create a new document', + name: 'New doc', }); await expect(buttonCreateHomepage).toBeVisible(); @@ -27,7 +27,7 @@ test.describe('Doc Routing', () => { await expect(page).toHaveURL('/'); const buttonCreateHomepage = page.getByRole('button', { - name: 'Create a new document', + name: 'New doc', }); await expect(buttonCreateHomepage).toBeVisible(); diff --git a/src/frontend/apps/e2e/__tests__/app-impress/doc-table-content.spec.ts b/src/frontend/apps/e2e/__tests__/app-impress/doc-table-content.spec.ts index 55c4a932..a3ce178a 100644 --- a/src/frontend/apps/e2e/__tests__/app-impress/doc-table-content.spec.ts +++ b/src/frontend/apps/e2e/__tests__/app-impress/doc-table-content.spec.ts @@ -36,6 +36,7 @@ test.describe('Doc Table Content', () => { await page.getByRole('button', { name: 'Strike' }).click(); await page.locator('.bn-block-outer').first().click(); + await editor.click(); await page.locator('.bn-block-outer').last().click(); // Create space to fill the viewport diff --git a/src/frontend/apps/e2e/__tests__/app-impress/language.spec.ts b/src/frontend/apps/e2e/__tests__/app-impress/language.spec.ts index 9d7e3f3d..ad5996aa 100644 --- a/src/frontend/apps/e2e/__tests__/app-impress/language.spec.ts +++ b/src/frontend/apps/e2e/__tests__/app-impress/language.spec.ts @@ -6,11 +6,7 @@ test.beforeEach(async ({ page }) => { test.describe('Language', () => { test('checks the language picker', async ({ page }) => { - await expect( - page.getByRole('button', { - name: 'Create a new document', - }), - ).toBeVisible(); + await expect(page.getByLabel('Logout')).toBeVisible(); const header = page.locator('header').first(); await header.getByRole('combobox').getByText('English').click(); @@ -19,11 +15,7 @@ test.describe('Language', () => { header.getByRole('combobox').getByText('Français'), ).toBeVisible(); - await expect( - page.getByRole('button', { - name: 'Créer un nouveau document', - }), - ).toBeVisible(); + await expect(page.getByLabel('Se déconnecter')).toBeVisible(); await header.getByRole('combobox').getByText('Français').click(); await header.getByRole('option', { name: 'Deutsch' }).click(); @@ -31,11 +23,7 @@ test.describe('Language', () => { header.getByRole('combobox').getByText('Deutsch'), ).toBeVisible(); - await expect( - page.getByRole('button', { - name: 'Neues Dokument erstellen', - }), - ).toBeVisible(); + await expect(page.getByLabel('Abmelden')).toBeVisible(); }); test('checks that backend uses the same language as the frontend', async ({ diff --git a/src/frontend/apps/e2e/__tests__/app-impress/left-panel.spec.ts b/src/frontend/apps/e2e/__tests__/app-impress/left-panel.spec.ts new file mode 100644 index 00000000..648f0819 --- /dev/null +++ b/src/frontend/apps/e2e/__tests__/app-impress/left-panel.spec.ts @@ -0,0 +1,25 @@ +import { expect, test } from '@playwright/test'; + +test.describe('Left panel desktop', () => { + test.beforeEach(async ({ page }) => { + await page.goto('/'); + }); + + test('checks all the elements are visible', async ({ page }) => { + await expect(page.getByTestId('left-panel-desktop')).toBeVisible(); + await expect(page.getByRole('button', { name: 'house' })).toBeVisible(); + await expect(page.getByRole('button', { name: 'New doc' })).toBeVisible(); + }); +}); + +test.describe('Left panel mobile', () => { + test.use({ viewport: { width: 500, height: 1200 } }); + + test.beforeEach(async ({ page }) => { + await page.goto('/'); + }); + + test('checks all the desktop elements are hidden', async ({ page }) => { + await expect(page.getByTestId('left-panel-desktop')).toBeHidden(); + }); +}); diff --git a/src/frontend/apps/impress/src/components/__tests__/Box.spec.tsx b/src/frontend/apps/impress/src/components/__tests__/Box.spec.tsx index e1e27ce6..dc8ca857 100644 --- a/src/frontend/apps/impress/src/components/__tests__/Box.spec.tsx +++ b/src/frontend/apps/impress/src/components/__tests__/Box.spec.tsx @@ -17,8 +17,8 @@ describe('', () => { ); expect(screen.getByText('My Box')).toHaveStyle(` - padding-left: 4rem; - padding-right: 4rem; + padding-left: 2.5rem; + padding-right: 2.5rem; padding-top: 3rem; padding-bottom: 0.5rem;`); }); diff --git a/src/frontend/apps/impress/src/features/docs/doc-editor/components/DocEditor.tsx b/src/frontend/apps/impress/src/features/docs/doc-editor/components/DocEditor.tsx index b297aa37..5cb15fc0 100644 --- a/src/frontend/apps/impress/src/features/docs/doc-editor/components/DocEditor.tsx +++ b/src/frontend/apps/impress/src/features/docs/doc-editor/components/DocEditor.tsx @@ -1,6 +1,6 @@ import { Alert, Loader, VariantType } from '@openfun/cunningham-react'; import { useRouter } from 'next/router'; -import React, { useEffect, useState } from 'react'; +import { useEffect, useState } from 'react'; import { useTranslation } from 'react-i18next'; import * as Y from 'yjs';