Skip to content

Commit

Permalink
specific cases
Browse files Browse the repository at this point in the history
  • Loading branch information
mikaelbr committed Feb 16, 2024
1 parent 1887ba2 commit aa2bb31
Show file tree
Hide file tree
Showing 2 changed files with 71 additions and 63 deletions.
39 changes: 2 additions & 37 deletions e2e-tests/assistant-view.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ test('Should fetch Kristiansund - Molde and loading more after first result', as
test('should show non transit trips on walkable distance', async ({ page }) => {
await page.goto(process.env.E2E_URL ?? 'http://localhost:3000');
await page.getByRole('textbox', { name: 'From' }).click();
await page.getByRole('textbox', { name: 'From' }).fill('Fylkeshus');
await page.getByRole('textbox', { name: 'From' }).fill('Fylkeshuset i Møre');
await page
.getByRole('option', { name: 'Fylkeshuset i Møre og Romsdal' })
.click();
Expand All @@ -63,7 +63,7 @@ test('should show non transit trips on walkable distance', async ({ page }) => {
test('should show non transit trips on cyclable distance', async ({ page }) => {
await page.goto(process.env.E2E_URL ?? 'http://localhost:3000');
await page.getByRole('textbox', { name: 'From' }).click();
await page.getByRole('textbox', { name: 'From' }).fill('Fylkeshus');
await page.getByRole('textbox', { name: 'From' }).fill('Fylkeshuset i Møre');
await page
.getByRole('option', { name: 'Fylkeshuset i Møre og Romsdal' })
.click();
Expand All @@ -77,38 +77,3 @@ test('should show non transit trips on cyclable distance', async ({ page }) => {
page.getByRole('heading', { name: 'Fylkeshuset i Møre og Romsdal' }),
).toBeVisible();
});

test('should show boats and message on Correspondance', async ({ page }) => {
await page.goto(process.env.E2E_URL ?? 'http://localhost:3000');

await page.getByRole('textbox', { name: 'From' }).click();
await page.getByRole('textbox', { name: 'From' }).fill('Moa trafikktermin');
await page.getByRole('option', { name: 'Moa trafikkterminal' }).click();

await page.getByRole('textbox', { name: 'To' }).click();
await page.getByRole('textbox', { name: 'To' }).fill('Ulsteinvik');

const additionalRequest = page.waitForResponse((request) => {
return request.url().includes('trip');
});

await page
.getByRole('option', { name: 'Ulsteinvik Ulstein', exact: true })
.click();

await additionalRequest;

await page.getByRole('button', { name: 'More choices' }).click();

const additionalRequest2 = page.waitForResponse((request) => {
return (
request.url().includes('trip') && request.url().includes('expressboat')
);
});
await page.locator('label').filter({ hasText: 'Express boat' }).click();

await additionalRequest2;

await page.getByTestId('tripPattern-0-0').click();
await expect(page.getByText('Correspondance between 1145')).toBeVisible();
});
95 changes: 69 additions & 26 deletions e2e-tests/fram-specific/line-filter.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,41 +5,84 @@ test.use({
permissions: ['geolocation'],
});

test('Should filter on line 701', async ({ page }) => {
if (process.env.ORG_ID !== 'fram') {
return;
}
test.describe('fram only', () => {
test.skip(
() => process.env.NEXT_PUBLIC_PLANNER_ORG_ID !== 'fram',
'Only FRAM!',
);

await page.goto(process.env.E2E_URL ?? 'http://localhost:3000');
test('Should filter on line 701', async ({ page }) => {
await page.goto(process.env.E2E_URL ?? 'http://localhost:3000');

await page.getByRole('textbox', { name: 'From' }).click();
await page.getByRole('textbox', { name: 'From' }).fill('Kvam');
await page.getByRole('option', { name: 'Kvam skole Molde' }).click();
await page.getByRole('textbox', { name: 'From' }).click();
await page.getByRole('textbox', { name: 'From' }).fill('Kvam');
await page.getByRole('option', { name: 'Kvam skole Molde' }).click();

await page.getByRole('textbox', { name: 'To' }).click();
await page.getByRole('textbox', { name: 'To' }).fill('Fylkeshusa');
await page.getByRole('textbox', { name: 'To' }).click();
await page.getByRole('textbox', { name: 'To' }).fill('Fylkeshusa');

const tripResponse = page.waitForResponse((request) => {
return request.url().includes('assistant/trip');
});
await page.getByRole('option', { name: 'Fylkeshusa Molde' }).click();
const tripResponse = page.waitForResponse((request) => {
return request.url().includes('assistant/trip');
});
await page.getByRole('option', { name: 'Fylkeshusa Molde' }).click();

await page.getByRole('button', { name: 'More choices' }).click();

await page.getByRole('button', { name: 'More choices' }).click();
await tripResponse;

await tripResponse;
await page.getByPlaceholder('line number').click();
await page.getByPlaceholder('line number').fill('701');

await page.getByPlaceholder('line number').click();
await page.getByPlaceholder('line number').fill('701');
const tripResponse2 = page.waitForResponse((request) => {
return request.url().includes('assistant/trip');
});
await page.getByRole('button', { name: 'Find departures' }).click();
await tripResponse2;

const tripResponse2 = page.waitForResponse((request) => {
return request.url().includes('assistant/trip');
const tripPatternItem2 = page.getByTestId('tripPattern-0-0');
await tripPatternItem2.waitFor();

await expect(tripPatternItem2).toBeVisible();
expect(await tripPatternItem2.getAttribute('aria-label')).toContain('701');
});
await page.getByRole('button', { name: 'Find departures' }).click();
await tripResponse2;

const tripPatternItem2 = page.getByTestId('tripPattern-0-0');
await tripPatternItem2.waitFor();
test('should show boats and message on Correspondance', async ({ page }) => {
await page.goto(process.env.E2E_URL ?? 'http://localhost:3000');

await page.getByRole('textbox', { name: 'From' }).click();
await page.getByRole('textbox', { name: 'From' }).fill('Moa trafikktermin');
await page.getByRole('option', { name: 'Moa trafikkterminal' }).click();

await page.getByRole('textbox', { name: 'To' }).click();
await page.getByRole('textbox', { name: 'To' }).fill('Ulsteinvik');

const additionalRequest = page.waitForResponse((request) => {
return request.url().includes('trip');
});

await page
.getByRole('option', { name: 'Ulsteinvik Ulstein', exact: true })
.click();

await expect(tripPatternItem2).toBeVisible();
expect(await tripPatternItem2.getAttribute('aria-label')).toContain('701');
await additionalRequest;

await page.getByTestId('tripPattern-0-0').waitFor();

await page.getByRole('button', { name: 'More choices' }).click();

const additionalRequest2 = page.waitForResponse((request) => {
return (
request.url().includes('trip') && request.url().includes('expressboat')
);
});
await page.locator('label').filter({ hasText: 'Express boat' }).click();
await page.getByText('Bus', { exact: true }).click();

await page.getByText('Loading travel suggestions...').waitFor();

await additionalRequest2;

await page.getByText('1145').first().click();
await expect(page.getByText('Correspondance between 1145')).toBeVisible();
});
});

0 comments on commit aa2bb31

Please sign in to comment.