From ff3591bb82f9898e44f57054d99b8a0f6373be01 Mon Sep 17 00:00:00 2001 From: shoshannaTM Date: Tue, 10 Feb 2026 15:41:19 -0800 Subject: [PATCH 1/2] create place test working in firefox and chromium --- src/app/pages/add-hub/add-hub.page.html | 2 +- tests/basic-user-flow.spec.ts | 52 ++++++++++++++++++++++--- 2 files changed, 47 insertions(+), 7 deletions(-) diff --git a/src/app/pages/add-hub/add-hub.page.html b/src/app/pages/add-hub/add-hub.page.html index 060c5d84..ea68faec 100644 --- a/src/app/pages/add-hub/add-hub.page.html +++ b/src/app/pages/add-hub/add-hub.page.html @@ -30,7 +30,7 @@ - + diff --git a/tests/basic-user-flow.spec.ts b/tests/basic-user-flow.spec.ts index d78206ee..f7faf49a 100644 --- a/tests/basic-user-flow.spec.ts +++ b/tests/basic-user-flow.spec.ts @@ -1,10 +1,23 @@ -import { test, expect } from '@playwright/test'; +import { test, expect, Page, BrowserContext } from '@playwright/test'; -test('create-profile-and-create-event', async ({ page, context }) => { - // Grant geolocation permission and set a default location - await context.grantPermissions(['geolocation']); - await context.setGeolocation({ latitude: 48.8566, longitude: 2.3522 }); // Paris coordinates - +test.describe.serial('basic user flow', () => { + let context: BrowserContext; + let page: Page; + + test.beforeAll(async ({ browser }) => { + context = await browser.newContext({ + permissions: ['geolocation'], + geolocation: { latitude: 48.8566, longitude: 2.3522 } + }); + page = await context.newPage(); + }); + + test.afterAll(async () => { + await page.close(); + await context.close(); + }); + +test('create-profile', async () => { // Generate unique email using Unix timestamp in milliseconds const timestamp = Date.now(); const uniqueEmail = `playwright_test_${timestamp}@email.com`; @@ -23,6 +36,10 @@ test('create-profile-and-create-event', async ({ page, context }) => { await page.locator('#ion-input-7').fill('playwright_test'); await page.getByRole('button', { name: 'Save' }).click(); await expect(page.locator('ion-tabs')).toContainText('playwright_test test'); +}); + +test('create-event', async () => { + await page.locator('#tab-button-home > .ios > .icon-inner > .ionicon').click(); await page.locator('ion-fab-button > .ios > .icon-inner > .ionicon').first().click(); await page.locator('circle').first().click(); @@ -47,4 +64,27 @@ test('create-profile-and-create-event', async ({ page, context }) => { await expect(page.locator('ion-card-title')).toContainText('playwright_test_event'); await page.waitForSelector('app-event-card img', { state: 'visible', timeout: 10000 }); await expect(page.locator('app-event-card img')).toBeVisible(); + +}); + +test('create-place', async () => { + await page.locator('#tab-button-home').getByRole('tab').click(); + await page.locator('#main').getByRole('button').click(); + await page.getByRole('button').nth(2).click(); + await page.getByRole('textbox', { name: '*' }).click(); + await page.getByRole('textbox', { name: '*' }).fill('playwright_test_place'); + await page.keyboard.press('Tab'); + await page.keyboard.type('Place Description'); + await page.getByTestId('location-input').click(); + await page.getByRole('searchbox', { name: 'search text' }).click(); + await page.getByRole('searchbox', { name: 'search text' }).fill('london'); + await page.waitForTimeout(500); + await page.getByText(/england/i).first().click({ force: true }); + await page.getByRole('button', { name: 'Select Location' }).click(); + await page.getByRole('button', { name: 'Upload Image' }).click(); + await page.getByRole('button', { name: 'Select Picture' }).click(); + await page.setInputFiles('input[type="file"]', 'resources/icon.png'); + await page.getByRole('button', { name: 'Create' }).click(); + await expect(page.locator('app-hub-card')).toContainText('playwright_test_place'); +}); }); \ No newline at end of file From da74e0fc8383f7d3c528a418b7bb0ee7e970bbc5 Mon Sep 17 00:00:00 2001 From: shoshannaTM Date: Wed, 11 Feb 2026 10:18:58 -0800 Subject: [PATCH 2/2] resolved strict mode violation in create-place test --- tests/basic-user-flow.spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/basic-user-flow.spec.ts b/tests/basic-user-flow.spec.ts index f7faf49a..93392301 100644 --- a/tests/basic-user-flow.spec.ts +++ b/tests/basic-user-flow.spec.ts @@ -69,7 +69,7 @@ test('create-event', async () => { test('create-place', async () => { await page.locator('#tab-button-home').getByRole('tab').click(); - await page.locator('#main').getByRole('button').click(); + await page.locator('#main').getByRole('button').first().click(); await page.getByRole('button').nth(2).click(); await page.getByRole('textbox', { name: '*' }).click(); await page.getByRole('textbox', { name: '*' }).fill('playwright_test_place');