frontend/tests/travel.spec.ts (view raw)
1import {expect, test} from './fixtures/event';
2
3test.describe('Travels', () => {
4 test('add new travel', async ({eventPage, page}) => {
5 await eventPage.addTravel();
6 await expect(page.getByText('The car has been created')).toBeVisible();
7 });
8
9 test('update existing travel', async ({eventPage, page}) => {
10 await eventPage.addTravel();
11
12 await page.locator('#EditTravelBtn').first().click();
13 await page.getByLabel('Choose date').click();
14 await page.getByLabel('Next month').click();
15 await page.waitForTimeout(1000);
16 await page.getByRole('gridcell', {name: '19'}).click();
17 if (await page.getByRole('button', {name: 'OK'}).isVisible())
18 page.getByRole('button', {name: 'OK'}).click();
19 await page.getByLabel('Choose time').click();
20 await page.locator('.MuiClock-squareMask').click();
21 await page.locator('.MuiClock-squareMask').click();
22 if (await page.getByRole('button', {name: 'OK'}).isVisible())
23 page.getByRole('button', {name: 'OK'}).click();
24 await page.getByLabel('Telephone number').click();
25 await page.getByLabel('Telephone number').fill('555 555 55 55');
26 await page.getByText('7', {exact: true}).click();
27 await page.getByRole('button', {name: 'Save'}).click();
28
29 await expect(page.getByText('555 555 55 55')).toBeVisible();
30 // TODO Add a toast on travel edition ?
31 });
32
33 test('remove travel', async ({eventPage, page}) => {
34 await eventPage.addTravel();
35
36 await page.locator('#EditTravelBtn').first().click();
37 await page.getByRole('button', {name: 'Remove'}).click();
38 await page.getByRole('button', {name: 'Confirm'}).click();
39 await expect(
40 page.getByText(
41 'The car has been removed and its passengers moved to the waiting list.'
42 )
43 ).toBeVisible();
44 });
45});