🐛(app-impress) fix all the resources were public

All the resources were public.
We now update correctly depend the user's choice.
We add a test.
This commit is contained in:
Anthony LC
2024-04-18 13:21:08 +02:00
committed by Anthony LC
parent 64cc2a9f2b
commit 82463be8ec
4 changed files with 37 additions and 4 deletions

View File

@@ -28,6 +28,8 @@ test.describe('Pad Create', () => {
}),
).toBeVisible();
await expect(card.getByText('Is it public ?')).toBeVisible();
await expect(
card.getByRole('button', {
name: 'Create the pad',
@@ -105,4 +107,24 @@ test.describe('Pad Create', () => {
timeout: 15000,
});
});
test('checks that the pad is public', async ({ page, browserName }) => {
const responsePromisePad = page.waitForResponse(
(response) =>
response.url().includes('/documents/') && response.status() === 201,
);
const panel = page.getByLabel('Pads panel').first();
await panel.getByRole('button', { name: 'Add a pad' }).click();
const padName = `My routing pad ${browserName}-${Math.floor(Math.random() * 1000)}`;
await page.getByText('Pad name').fill(padName);
await page.getByText('Is it public ?').click();
await page.getByRole('button', { name: 'Create the pad' }).click();
const responsePad = await responsePromisePad;
const is_public = (await responsePad.json()).is_public;
expect(is_public).toBeTruthy();
});
});

View File

@@ -25,6 +25,7 @@ export const CardCreatePad = () => {
},
});
const [padName, setPadName] = useState('');
const [padPublic, setPadPublic] = useState(false);
const { colorsTokens } = useCunninghamTheme();
return (
@@ -52,14 +53,18 @@ export const CardCreatePad = () => {
label={t('Pad name')}
{...{ error, isError, isPending, setPadName }}
/>
<Switch label={t('Is it public ?')} labelSide="right" />
<Switch
label={t('Is it public ?')}
labelSide="right"
onChange={() => setPadPublic(!padPublic)}
/>
</Box>
<Box $justify="space-between" $direction="row" $align="center">
<StyledLink href="/">
<Button color="secondary">{t('Cancel')}</Button>
</StyledLink>
<Button
onClick={() => createPad({ title: padName, is_public: true })}
onClick={() => createPad({ title: padName, is_public: padPublic })}
disabled={!padName}
>
{t('Create the pad')}

View File

@@ -25,6 +25,7 @@ export const CardCreateTemplate = () => {
},
});
const [templateName, setTemplateName] = useState('');
const [templatePublic, setTemplatePublic] = useState(false);
const { colorsTokens } = useCunninghamTheme();
return (
@@ -52,7 +53,11 @@ export const CardCreateTemplate = () => {
label={t('Template name')}
{...{ error, isError, isPending, setTemplateName }}
/>
<Switch label={t('Is it public ?')} labelSide="right" />
<Switch
label={t('Is it public ?')}
labelSide="right"
onChange={() => setTemplatePublic(!templatePublic)}
/>
</Box>
<Box $justify="space-between" $direction="row" $align="center">
<StyledLink href="/">
@@ -60,7 +65,7 @@ export const CardCreateTemplate = () => {
</StyledLink>
<Button
onClick={() =>
createTemplate({ title: templateName, is_public: true })
createTemplate({ title: templateName, is_public: templatePublic })
}
disabled={!templateName}
>

View File

@@ -27,6 +27,7 @@ module.exports = {
plugins: ['playwright'],
rules: {
'@typescript-eslint/no-unsafe-member-access': 'off',
'@typescript-eslint/no-unsafe-assignment': 'off',
},
},
],