From b010a7b5a76627d8c543fb0ed5cbf81b7c1229fb Mon Sep 17 00:00:00 2001 From: Anthony LC Date: Mon, 4 Mar 2024 16:10:40 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=A4=A1(app-desk)=20remove=20mock=20endpoi?= =?UTF-8?q?nt=20teams=20accesses?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The endpoint teams/accesses is ready. We remove the mock and the related libraries and use the real endpoint. --- src/frontend/apps/desk/package.json | 1 - .../desk/src/features/teams/api/data/teams.ts | 24 -------------- .../features/teams/api/useTeamsAccesses.tsx | 12 ------- .../apps/e2e/__tests__/app-desk/team.spec.ts | 31 +++++++------------ src/frontend/yarn.lock | 5 --- 5 files changed, 11 insertions(+), 62 deletions(-) delete mode 100644 src/frontend/apps/desk/src/features/teams/api/data/teams.ts diff --git a/src/frontend/apps/desk/package.json b/src/frontend/apps/desk/package.json index a7d0754..88908a6 100644 --- a/src/frontend/apps/desk/package.json +++ b/src/frontend/apps/desk/package.json @@ -15,7 +15,6 @@ "test:watch": "jest --watch" }, "dependencies": { - "@faker-js/faker": "8.4.1", "@openfun/cunningham-react": "2.4.0", "@tanstack/react-query": "5.24.8", "i18next": "23.10.0", diff --git a/src/frontend/apps/desk/src/features/teams/api/data/teams.ts b/src/frontend/apps/desk/src/features/teams/api/data/teams.ts deleted file mode 100644 index ca052dc..0000000 --- a/src/frontend/apps/desk/src/features/teams/api/data/teams.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { faker } from '@faker-js/faker'; - -import { Access, Role } from '../types'; - -function createRandomAccess(): Access { - return { - id: faker.string.uuid(), - user: { - id: faker.string.uuid(), - email: faker.internet.email(), - name: faker.person.fullName(), - }, - role: faker.helpers.enumValue(Role), - }; -} - -export const dummyDataAPITeamAccesses = (count: number, pageSize: number) => { - return { - count, - next: null, - previous: null, - results: faker.helpers.multiple(createRandomAccess, { count: pageSize }), - }; -}; diff --git a/src/frontend/apps/desk/src/features/teams/api/useTeamsAccesses.tsx b/src/frontend/apps/desk/src/features/teams/api/useTeamsAccesses.tsx index 437d176..123a0b7 100644 --- a/src/frontend/apps/desk/src/features/teams/api/useTeamsAccesses.tsx +++ b/src/frontend/apps/desk/src/features/teams/api/useTeamsAccesses.tsx @@ -2,9 +2,6 @@ import { UseQueryOptions, useQuery } from '@tanstack/react-query'; import { APIError, APIList, errorCauses, fetchAPI } from '@/api'; -import { PAGE_SIZE } from '../conf'; - -import { dummyDataAPITeamAccesses } from './data/teams'; import { Access } from './types'; export type TeamAccessesAPIParams = { @@ -18,15 +15,6 @@ export const getTeamAccesses = async ({ page, teamId, }: TeamAccessesAPIParams): Promise => { - /** - * TODO: Remove this block when the API endpoint is ready - */ - return await new Promise((resolve) => { - setTimeout(() => { - resolve(dummyDataAPITeamAccesses(100, PAGE_SIZE)); - }, 500); - }); - const response = await fetchAPI(`teams/${teamId}/accesses/?page=${page}`); if (!response.ok) { diff --git a/src/frontend/apps/e2e/__tests__/app-desk/team.spec.ts b/src/frontend/apps/e2e/__tests__/app-desk/team.spec.ts index dec9a51..11c18cc 100644 --- a/src/frontend/apps/e2e/__tests__/app-desk/team.spec.ts +++ b/src/frontend/apps/e2e/__tests__/app-desk/team.spec.ts @@ -41,7 +41,10 @@ test.describe('Team', () => { ).toBeVisible(); }); - test('checks the datagrid members', async ({ page, browserName }) => { + test('checks the admin members is displayed correctly', async ({ + page, + browserName, + }) => { await createTeam(page, 'team-admin', browserName, 1); const table = page.getByLabel('List members card').getByRole('table'); @@ -51,24 +54,12 @@ test.describe('Team', () => { await expect(thead.getByText(/Emails/i)).toBeVisible(); await expect(thead.getByText(/Roles/i)).toBeVisible(); - const rows = table.getByRole('row'); - expect(await rows.count()).toBe(21); - - await expect( - rows.nth(1).getByRole('cell').nth(0).getByLabel('Member icon'), - ).toBeVisible(); - - const textCellName = await rows - .nth(1) - .getByRole('cell') - .nth(1) - .textContent(); - expect(textCellName).toEqual(expect.any(String)); - await expect(rows.nth(1).getByRole('cell').nth(2)).toContainText('@'); - expect( - ['owner', 'member', 'admin'].includes( - (await rows.nth(1).getByRole('cell').nth(3).textContent()) as string, - ), - ).toBeTruthy(); + const cells = table.getByRole('row').nth(1).getByRole('cell'); + await expect(cells.nth(0).getByLabel('Member icon')).toBeVisible(); + await expect(cells.nth(1)).toHaveText( + new RegExp(`E2E ${browserName}`, 'i'), + ); + await expect(cells.nth(2)).toHaveText(`user@${browserName}.e2e`); + await expect(cells.nth(3)).toHaveText('owner'); }); }); diff --git a/src/frontend/yarn.lock b/src/frontend/yarn.lock index e8f93c5..5318c58 100644 --- a/src/frontend/yarn.lock +++ b/src/frontend/yarn.lock @@ -1318,11 +1318,6 @@ resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.0.tgz#a5417ae8427873f1dd08b70b3574b453e67b5f7f" integrity sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g== -"@faker-js/faker@8.4.1": - version "8.4.1" - resolved "https://registry.yarnpkg.com/@faker-js/faker/-/faker-8.4.1.tgz#5d5e8aee8fce48f5e189bf730ebd1f758f491451" - integrity sha512-XQ3cU+Q8Uqmrbf2e0cIC/QN43sTBSC8KF12u29Mb47tWrt2hAgBXSgpZMj4Ao8Uk0iJcU99QsOCaIL8934obCg== - "@fontsource-variable/roboto-flex@5.0.8": version "5.0.8" resolved "https://registry.yarnpkg.com/@fontsource-variable/roboto-flex/-/roboto-flex-5.0.8.tgz#d6685dbcdb9ba939717f995dfeb77cd22f7d82a3"