diff --git a/src/frontend/apps/impress/src/__tests__/pages.test.tsx b/src/frontend/apps/impress/src/__tests__/pages.test.tsx
index ce4573e9..fefce471 100644
--- a/src/frontend/apps/impress/src/__tests__/pages.test.tsx
+++ b/src/frontend/apps/impress/src/__tests__/pages.test.tsx
@@ -11,7 +11,7 @@ describe('Page', () => {
expect(
screen.getByRole('button', {
- name: /Create a new team/i,
+ name: /Create a new pad/i,
}),
).toBeInTheDocument();
});
diff --git a/src/frontend/apps/impress/src/features/header/Header.tsx b/src/frontend/apps/impress/src/features/header/Header.tsx
index d41438d5..b07ff7b5 100644
--- a/src/frontend/apps/impress/src/features/header/Header.tsx
+++ b/src/frontend/apps/impress/src/features/header/Header.tsx
@@ -8,8 +8,8 @@ import { ApplicationsMenu } from '@/features/header/ApplicationsMenu';
import { LanguagePicker } from '../language/';
-import { default as IconImpress } from './assets/icon-impress.svg?url';
import { default as IconGouv } from './assets/icon-gouv.svg?url';
+import { default as IconImpress } from './assets/icon-impress.svg?url';
import { default as IconMarianne } from './assets/icon-marianne.svg?url';
import IconMyAccount from './assets/icon-my-account.png';
diff --git a/src/frontend/apps/impress/src/features/pads/pad/types.tsx b/src/frontend/apps/impress/src/features/pads/pad/types.tsx
index 31cbc236..e35b7cc5 100644
--- a/src/frontend/apps/impress/src/features/pads/pad/types.tsx
+++ b/src/frontend/apps/impress/src/features/pads/pad/types.tsx
@@ -1,4 +1,17 @@
-import { Access } from '@/features/members';
+import { User } from '@/core/auth';
+
+export interface Access {
+ id: string;
+ role: Role;
+ user: User;
+ abilities: {
+ delete: boolean;
+ get: boolean;
+ patch: boolean;
+ put: boolean;
+ set_role_to: Role[];
+ };
+}
export enum Role {
MEMBER = 'member',
diff --git a/src/frontend/apps/impress/src/features/pads/pads-panel/__tests__/PanelTeams.test.tsx b/src/frontend/apps/impress/src/features/pads/pads-panel/__tests__/PanelTeams.test.tsx
index 8b32a390..dbb6c4a0 100644
--- a/src/frontend/apps/impress/src/features/pads/pads-panel/__tests__/PanelTeams.test.tsx
+++ b/src/frontend/apps/impress/src/features/pads/pads-panel/__tests__/PanelTeams.test.tsx
@@ -3,10 +3,10 @@ import { render, screen } from '@testing-library/react';
import userEvent from '@testing-library/user-event';
import fetchMock from 'fetch-mock';
-import { Panel } from '@/features/teams';
import { AppWrapper } from '@/tests/utils';
-import { TeamList } from '../components/PadList';
+import { PadList } from '../components/PadList';
+import { Panel } from '../components/Panel';
window.HTMLElement.prototype.scroll = function () {};
@@ -17,30 +17,30 @@ jest.mock('next/router', () => ({
}),
}));
-describe('PanelTeams', () => {
+describe('PanelPads', () => {
afterEach(() => {
fetchMock.restore();
});
- it('renders with no team to display', async () => {
- fetchMock.mock(`/api/teams/?page=1&ordering=-created_at`, {
+ it('renders with no pad to display', async () => {
+ fetchMock.mock(`/api/pads/?page=1&ordering=-created_at`, {
count: 0,
results: [],
});
- render(, { wrapper: AppWrapper });
+ render(, { wrapper: AppWrapper });
expect(screen.getByRole('status')).toBeInTheDocument();
expect(
await screen.findByText(
- 'Create your first team by clicking on the "Create a new team" button.',
+ 'Create your first pad by clicking on the "Create a new pad" button.',
),
).toBeInTheDocument();
});
- it('renders an empty team', async () => {
- fetchMock.mock(`/api/teams/?page=1&ordering=-created_at`, {
+ it('renders an empty pad', async () => {
+ fetchMock.mock(`/api/pads/?page=1&ordering=-created_at`, {
count: 1,
results: [
{
@@ -51,17 +51,15 @@ describe('PanelTeams', () => {
],
});
- render(, { wrapper: AppWrapper });
+ render(, { wrapper: AppWrapper });
expect(screen.getByRole('status')).toBeInTheDocument();
- expect(
- await screen.findByLabelText('Empty teams icon'),
- ).toBeInTheDocument();
+ expect(await screen.findByLabelText('Empty pads icon')).toBeInTheDocument();
});
- it('renders a team with only 1 member', async () => {
- fetchMock.mock(`/api/teams/?page=1&ordering=-created_at`, {
+ it('renders a pad with only 1 member', async () => {
+ fetchMock.mock(`/api/pads/?page=1&ordering=-created_at`, {
count: 1,
results: [
{
@@ -77,22 +75,20 @@ describe('PanelTeams', () => {
],
});
- render(, { wrapper: AppWrapper });
+ render(, { wrapper: AppWrapper });
expect(screen.getByRole('status')).toBeInTheDocument();
- expect(
- await screen.findByLabelText('Empty teams icon'),
- ).toBeInTheDocument();
+ expect(await screen.findByLabelText('Empty pads icon')).toBeInTheDocument();
});
- it('renders a non-empty team', async () => {
- fetchMock.mock(`/api/teams/?page=1&ordering=-created_at`, {
+ it('renders a non-empty pad', async () => {
+ fetchMock.mock(`/api/pads/?page=1&ordering=-created_at`, {
count: 1,
results: [
{
id: '1',
- name: 'Team 1',
+ name: 'Pad 1',
accesses: [
{
id: '1',
@@ -107,19 +103,19 @@ describe('PanelTeams', () => {
],
});
- render(, { wrapper: AppWrapper });
+ render(, { wrapper: AppWrapper });
expect(screen.getByRole('status')).toBeInTheDocument();
- expect(await screen.findByLabelText('Teams icon')).toBeInTheDocument();
+ expect(await screen.findByLabelText('Pads icon')).toBeInTheDocument();
});
it('renders the error', async () => {
- fetchMock.mock(`/api/teams/?page=1&ordering=-created_at`, {
+ fetchMock.mock(`/api/pads/?page=1&ordering=-created_at`, {
status: 500,
});
- render(, { wrapper: AppWrapper });
+ render(, { wrapper: AppWrapper });
expect(screen.getByRole('status')).toBeInTheDocument();
@@ -130,8 +126,8 @@ describe('PanelTeams', () => {
).toBeInTheDocument();
});
- it('renders with team panel open', async () => {
- fetchMock.mock(`/api/teams/?page=1&ordering=-created_at`, {
+ it('renders with pad panel open', async () => {
+ fetchMock.mock(`/api/pads/?page=1&ordering=-created_at`, {
count: 1,
results: [],
});
@@ -139,14 +135,14 @@ describe('PanelTeams', () => {
render(, { wrapper: AppWrapper });
expect(
- screen.getByRole('button', { name: 'Close the teams panel' }),
+ screen.getByRole('button', { name: 'Close the pads panel' }),
).toBeVisible();
expect(await screen.findByText('Recents')).toBeVisible();
});
- it('closes and opens the team panel', async () => {
- fetchMock.mock(`/api/teams/?page=1&ordering=-created_at`, {
+ it('closes and opens the pad panel', async () => {
+ fetchMock.mock(`/api/pads/?page=1&ordering=-created_at`, {
count: 1,
results: [],
});
@@ -157,7 +153,7 @@ describe('PanelTeams', () => {
await userEvent.click(
screen.getByRole('button', {
- name: 'Close the teams panel',
+ name: 'Close the pads panel',
}),
);
@@ -165,7 +161,7 @@ describe('PanelTeams', () => {
await userEvent.click(
screen.getByRole('button', {
- name: 'Open the teams panel',
+ name: 'Open the pads panel',
}),
);
diff --git a/src/frontend/apps/impress/src/features/pads/pads-panel/components/PadItem.tsx b/src/frontend/apps/impress/src/features/pads/pads-panel/components/PadItem.tsx
index df48242d..10bbd6b3 100644
--- a/src/frontend/apps/impress/src/features/pads/pads-panel/components/PadItem.tsx
+++ b/src/frontend/apps/impress/src/features/pads/pads-panel/components/PadItem.tsx
@@ -67,7 +67,7 @@ export const PadItem = ({ pad }: PadItemProps) => {
{hasMembers ? (
{
/>
) : (
{
transition: ${transition};
`}
$height="inherit"
- aria-label="Teams panel"
+ aria-label="Pads panel"
{...closedOverridingStyles}
>
{
Object.keys(jsonimpress)
.filter((key) => key !== 'en')
.forEach((key) => {
- const listKeysimpress = Object.keys(jsonimpress[key].translation).sort();
+ const listKeysimpress = Object.keys(
+ jsonimpress[key].translation,
+ ).sort();
const missingKeys = listKeysCrowdin.filter(
(element) => !listKeysimpress.includes(element),
);