If we are with the DSFR theme, we need to add the proconnect button to the homepage. We add an option in the cunningham theme to display the proconnect section instead of the opensource section.
71 lines
1.8 KiB
TypeScript
71 lines
1.8 KiB
TypeScript
import { expect, test } from '@playwright/test';
|
|
|
|
test.describe('Footer', () => {
|
|
test.use({ storageState: { cookies: [], origins: [] } });
|
|
|
|
test('checks all the elements are visible', async ({ page }) => {
|
|
await page.goto('/');
|
|
const footer = page.locator('footer').first();
|
|
|
|
await expect(footer.getByAltText('Gouvernement Logo')).toBeVisible();
|
|
|
|
await expect(
|
|
footer.getByRole('link', { name: 'legifrance.gouv.fr' }),
|
|
).toBeVisible();
|
|
|
|
await expect(
|
|
footer.getByRole('link', { name: 'info.gouv.fr' }),
|
|
).toBeVisible();
|
|
|
|
await expect(
|
|
footer.getByRole('link', { name: 'service-public.fr' }),
|
|
).toBeVisible();
|
|
|
|
await expect(
|
|
footer.getByRole('link', { name: 'data.gouv.fr' }),
|
|
).toBeVisible();
|
|
|
|
await expect(
|
|
footer.getByRole('link', { name: 'Legal Notice' }),
|
|
).toBeVisible();
|
|
|
|
await expect(
|
|
footer.getByRole('link', { name: 'Personal data and cookies' }),
|
|
).toBeVisible();
|
|
|
|
await expect(
|
|
footer.getByRole('link', { name: 'Accessibility' }),
|
|
).toBeVisible();
|
|
|
|
await expect(
|
|
footer.getByText(
|
|
'Unless otherwise stated, all content on this site is under licence',
|
|
),
|
|
).toBeVisible();
|
|
});
|
|
|
|
const legalPages = [
|
|
{ name: 'Legal Notice', url: '/legal-notice/' },
|
|
{ name: 'Personal data and cookies', url: '/personal-data-cookies/' },
|
|
{ name: 'Accessibility', url: '/accessibility/' },
|
|
];
|
|
for (const { name, url } of legalPages) {
|
|
test(`checks ${name} page`, async ({ page }) => {
|
|
await page.goto('/');
|
|
|
|
const footer = page.locator('footer').first();
|
|
await footer.getByRole('link', { name }).click();
|
|
|
|
await expect(
|
|
page
|
|
.getByRole('heading', {
|
|
name,
|
|
})
|
|
.first(),
|
|
).toBeVisible();
|
|
|
|
await expect(page).toHaveURL(url);
|
|
});
|
|
}
|
|
});
|