Skip to content

Merge branch 'testlite' into e2e-pw #33

Merge branch 'testlite' into e2e-pw

Merge branch 'testlite' into e2e-pw #33

Triggered via push February 15, 2024 11:27
Status Failure
Total duration 23m 57s
Artifacts 1

all-tests.yml

on: push
Fit to window
Zoom out
Zoom in

Annotations

17 errors, 5 warnings, and 2 notices
[api_tests] › announcements.spec.ts:30:9 › announcements api test › get all announcements @pro: tests/pw/tests/api/announcements.spec.ts#L34
1) [api_tests] › announcements.spec.ts:30:9 › announcements api test › get all announcements @Pro Error: Result does not match schema: Invalid date Details: { "issues": [ { "code": "invalid_date", "path": [ 7, "date_gmt" ], "message": "Invalid date" } ], "name": "ZodError" } 32 | expect(response.ok()).toBeTruthy(); 33 | expect(responseBody).toBeTruthy(); > 34 | expect(responseBody).toMatchSchema(schemas.announcementsSchema.announcementsSchema); | ^ 35 | }); 36 | 37 | test('get single announcement @Pro', async () => { at /home/runner/work/dokan/dokan/tests/pw/tests/api/announcements.spec.ts:34:30
[api_tests] › announcements.spec.ts:30:9 › announcements api test › get all announcements @pro: tests/pw/tests/api/announcements.spec.ts#L34
1) [api_tests] › announcements.spec.ts:30:9 › announcements api test › get all announcements @Pro Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: Result does not match schema: Invalid date Details: { "issues": [ { "code": "invalid_date", "path": [ 8, "date_gmt" ], "message": "Invalid date" } ], "name": "ZodError" } 32 | expect(response.ok()).toBeTruthy(); 33 | expect(responseBody).toBeTruthy(); > 34 | expect(responseBody).toMatchSchema(schemas.announcementsSchema.announcementsSchema); | ^ 35 | }); 36 | 37 | test('get single announcement @Pro', async () => { at /home/runner/work/dokan/dokan/tests/pw/tests/api/announcements.spec.ts:34:30
[api_tests] › refunds.spec.ts:53:9 › refunds api test › approve a refund @pro: tests/pw/tests/api/refunds.spec.ts#L54
2) [api_tests] › refunds.spec.ts:53:9 › refunds api test › approve a refund @Pro ───────────────── TypeError: _dbUtils.dbUtils.createRefund is not a function 52 | 53 | test('approve a refund @Pro', async () => { > 54 | const [, refundId] = await dbUtils.createRefund(orderResponseBody); | ^ 55 | const [response, responseBody] = await apiUtils.put(endPoints.approveRefund(refundId)); 56 | expect(response.ok()).toBeTruthy(); 57 | expect(responseBody).toBeTruthy(); at /home/runner/work/dokan/dokan/tests/pw/tests/api/refunds.spec.ts:54:44
[api_tests] › refunds.spec.ts:53:9 › refunds api test › approve a refund @pro: tests/pw/tests/api/refunds.spec.ts#L54
2) [api_tests] › refunds.spec.ts:53:9 › refunds api test › approve a refund @Pro ───────────────── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── TypeError: _dbUtils.dbUtils.createRefund is not a function 52 | 53 | test('approve a refund @Pro', async () => { > 54 | const [, refundId] = await dbUtils.createRefund(orderResponseBody); | ^ 55 | const [response, responseBody] = await apiUtils.put(endPoints.approveRefund(refundId)); 56 | expect(response.ok()).toBeTruthy(); 57 | expect(responseBody).toBeTruthy(); at /home/runner/work/dokan/dokan/tests/pw/tests/api/refunds.spec.ts:54:44
[api_tests] › refunds.spec.ts:60:9 › refunds api test › update batch refunds @pro: tests/pw/tests/api/refunds.spec.ts#L61
3) [api_tests] › refunds.spec.ts:60:9 › refunds api test › update batch refunds @Pro ───────────── TypeError: _dbUtils.dbUtils.createRefund is not a function 59 | 60 | test('update batch refunds @Pro', async () => { > 61 | await dbUtils.createRefund(orderResponseBody); | ^ 62 | const allPendingRefundsIds = (await apiUtils.getAllRefunds('pending', payloads.vendorAuth)).map((a: { id: unknown }) => a.id); 63 | const [response, responseBody] = await apiUtils.put(endPoints.updateBatchRefunds, { data: { cancelled: allPendingRefundsIds } }); 64 | expect(response.ok()).toBeTruthy(); at /home/runner/work/dokan/dokan/tests/pw/tests/api/refunds.spec.ts:61:23
[api_tests] › refunds.spec.ts:60:9 › refunds api test › update batch refunds @pro: tests/pw/tests/api/refunds.spec.ts#L61
3) [api_tests] › refunds.spec.ts:60:9 › refunds api test › update batch refunds @Pro ───────────── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── TypeError: _dbUtils.dbUtils.createRefund is not a function 59 | 60 | test('update batch refunds @Pro', async () => { > 61 | await dbUtils.createRefund(orderResponseBody); | ^ 62 | const allPendingRefundsIds = (await apiUtils.getAllRefunds('pending', payloads.vendorAuth)).map((a: { id: unknown }) => a.id); 63 | const [response, responseBody] = await apiUtils.put(endPoints.updateBatchRefunds, { data: { cancelled: allPendingRefundsIds } }); 64 | expect(response.ok()).toBeTruthy(); at /home/runner/work/dokan/dokan/tests/pw/tests/api/refunds.spec.ts:61:23
e2e_api tests
Process completed with exit code 1.
[e2e_tests] › customer.spec.ts:80:9 › Customer functionality test › customer can buy product @lite @c: tests/pw/pages/basePage.ts#L98
1) [e2e_tests] › customer.spec.ts:80:9 › Customer functionality test › customer can buy product @lite @c Error: expect(received).toMatch(expected) Expected substring: "checkout" Received string: "http://localhost:9999/cart/" at ../../pages/basePage.ts:98 96 | // await this.page.goto(url, { waitUntil: 'domcontentloaded' }); //don't work for backend 97 | const currentUrl = this.getCurrentUrl(); > 98 | expect(currentUrl).toMatch(subPath); | ^ 99 | } 100 | } 101 | at CustomerPage.goIfNotThere (/home/runner/work/dokan/dokan/tests/pw/pages/basePage.ts:98:32) at CustomerPage.goToCheckout (/home/runner/work/dokan/dokan/tests/pw/pages/customerPage.ts:29:9) at CustomerPage.placeOrder (/home/runner/work/dokan/dokan/tests/pw/pages/customerPage.ts:294:9) at /home/runner/work/dokan/dokan/tests/pw/tests/e2e/customer.spec.ts:82:9
[e2e_tests] › customer.spec.ts:80:9 › Customer functionality test › customer can buy product @lite @c: tests/pw/pages/basePage.ts#L98
1) [e2e_tests] › customer.spec.ts:80:9 › Customer functionality test › customer can buy product @lite @c Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(received).toMatch(expected) Expected substring: "checkout" Received string: "http://localhost:9999/cart/" at ../../pages/basePage.ts:98 96 | // await this.page.goto(url, { waitUntil: 'domcontentloaded' }); //don't work for backend 97 | const currentUrl = this.getCurrentUrl(); > 98 | expect(currentUrl).toMatch(subPath); | ^ 99 | } 100 | } 101 | at CustomerPage.goIfNotThere (/home/runner/work/dokan/dokan/tests/pw/pages/basePage.ts:98:32) at CustomerPage.goToCheckout (/home/runner/work/dokan/dokan/tests/pw/pages/customerPage.ts:29:9) at CustomerPage.placeOrder (/home/runner/work/dokan/dokan/tests/pw/pages/customerPage.ts:294:9) at /home/runner/work/dokan/dokan/tests/pw/tests/e2e/customer.spec.ts:82:9
[e2e_tests] › productAddons.spec.ts:38:9 › Product addon functionality test › vendor product addons menu page is rendering properly @pro @exp @v: tests/pw/pages/basePage.ts#L877
2) [e2e_tests] › productAddons.spec.ts:38:9 › Product addon functionality test › vendor product addons menu page is rendering properly @Pro @exp @v TimeoutError: locator.check: Timeout 30000ms exceeded. Call log: - waiting for locator('.wc-pao-addon-description-enable') at ../../pages/basePage.ts:877 875 | async checkLocator(selector: string): Promise<void> { 876 | const locator = this.page.locator(selector); > 877 | await locator.check({ force: true }); // forced is used to avoid "locator.check: Clicking the checkbox did not change its state" error | ^ 878 | } 879 | 880 | // click locator at ProductAddonsPage.checkLocator (/home/runner/work/dokan/dokan/tests/pw/pages/basePage.ts:877:23) at ProductAddonsPage.check (/home/runner/work/dokan/dokan/tests/pw/pages/basePage.ts:678:20) at ProductAddonsPage.vendorProductAddonsSettingsRenderProperly (/home/runner/work/dokan/dokan/tests/pw/pages/productAddonsPage.ts:33:20) at /home/runner/work/dokan/dokan/tests/pw/tests/e2e/productAddons.spec.ts:39:9
[e2e_tests] › productAddons.spec.ts:38:9 › Product addon functionality test › vendor product addons menu page is rendering properly @pro @exp @v: tests/pw/pages/basePage.ts#L877
2) [e2e_tests] › productAddons.spec.ts:38:9 › Product addon functionality test › vendor product addons menu page is rendering properly @Pro @exp @v Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── TimeoutError: locator.check: Timeout 30000ms exceeded. Call log: - waiting for locator('.wc-pao-addon-description-enable') at ../../pages/basePage.ts:877 875 | async checkLocator(selector: string): Promise<void> { 876 | const locator = this.page.locator(selector); > 877 | await locator.check({ force: true }); // forced is used to avoid "locator.check: Clicking the checkbox did not change its state" error | ^ 878 | } 879 | 880 | // click locator at ProductAddonsPage.checkLocator (/home/runner/work/dokan/dokan/tests/pw/pages/basePage.ts:877:23) at ProductAddonsPage.check (/home/runner/work/dokan/dokan/tests/pw/pages/basePage.ts:678:20) at ProductAddonsPage.vendorProductAddonsSettingsRenderProperly (/home/runner/work/dokan/dokan/tests/pw/pages/productAddonsPage.ts:33:20) at /home/runner/work/dokan/dokan/tests/pw/tests/e2e/productAddons.spec.ts:39:9
[e2e_tests] › products.spec.ts:99:9 › Product functionality test › vendor can add product category @lite @v: tests/pw/pages/basePage.ts#L438
3) [e2e_tests] › products.spec.ts:99:9 › Product functionality test › vendor can add product category @lite @v Error: locator.hover: Error: strict mode violation: locator('//a[contains(text(),\'p1_v1 (simple)\')]/../..') resolved to 5 elements: 1) <td data-title="Name" class="column-primary">…</td> aka getByRole('cell', { name: 'p1_v1 (simple)' }) 2) <article>…</article> aka locator('article').filter({ hasText: 'Robyn Kovacek on p1_v1 (' }) 3) <article>…</article> aka locator('article').filter({ hasText: 'Antonio Koelpin on p1_v1 (' }) 4) <article>…</article> aka locator('article').filter({ hasText: 'Patti Witting on p1_v1 (' }) 5) <article>…</article> aka locator('article').filter({ hasText: 'Carole Herman-Windler on' }) Call log: - waiting for locator('//a[contains(text(),\'p1_v1 (simple)\')]/../..') at ../../pages/basePage.ts:438 436 | // hover on selector 437 | async hover(selector: string): Promise<void> { > 438 | await this.page.locator(selector).hover(); | ^ 439 | // await this.page.hover(selector); 440 | await this.wait(0.2); 441 | } at ProductsPage.hover (/home/runner/work/dokan/dokan/tests/pw/pages/basePage.ts:438:43) at ProductsPage.goToProductEdit (/home/runner/work/dokan/dokan/tests/pw/pages/productsPage.ts:454:20) at ProductsPage.vendorAddProductCategory (/home/runner/work/dokan/dokan/tests/pw/pages/productsPage.ts:479:9) at /home/runner/work/dokan/dokan/tests/pw/tests/e2e/products.spec.ts:100:9
[e2e_tests] › products.spec.ts:99:9 › Product functionality test › vendor can add product category @lite @v: tests/pw/pages/basePage.ts#L438
3) [e2e_tests] › products.spec.ts:99:9 › Product functionality test › vendor can add product category @lite @v Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: locator.hover: Error: strict mode violation: locator('//a[contains(text(),\'p1_v1 (simple)\')]/../..') resolved to 5 elements: 1) <td data-title="Name" class="column-primary">…</td> aka getByRole('cell', { name: 'p1_v1 (simple)' }) 2) <article>…</article> aka locator('article').filter({ hasText: 'Robyn Kovacek on p1_v1 (' }) 3) <article>…</article> aka locator('article').filter({ hasText: 'Antonio Koelpin on p1_v1 (' }) 4) <article>…</article> aka locator('article').filter({ hasText: 'Patti Witting on p1_v1 (' }) 5) <article>…</article> aka locator('article').filter({ hasText: 'Carole Herman-Windler on' }) Call log: - waiting for locator('//a[contains(text(),\'p1_v1 (simple)\')]/../..') at ../../pages/basePage.ts:438 436 | // hover on selector 437 | async hover(selector: string): Promise<void> { > 438 | await this.page.locator(selector).hover(); | ^ 439 | // await this.page.hover(selector); 440 | await this.wait(0.2); 441 | } at ProductsPage.hover (/home/runner/work/dokan/dokan/tests/pw/pages/basePage.ts:438:43) at ProductsPage.goToProductEdit (/home/runner/work/dokan/dokan/tests/pw/pages/productsPage.ts:454:20) at ProductsPage.vendorAddProductCategory (/home/runner/work/dokan/dokan/tests/pw/pages/productsPage.ts:479:9) at /home/runner/work/dokan/dokan/tests/pw/tests/e2e/products.spec.ts:100:9
[e2e_tests] › products.spec.ts:163:9 › Product functionality test › vendor can add product wholesale options @pro @v: tests/pw/pages/basePage.ts#L640
4) [e2e_tests] › products.spec.ts:163:9 › Product functionality test › vendor can add product wholesale options @Pro @v TimeoutError: page.fill: Timeout 30000ms exceeded. Call log: - waiting for locator('#dokan-wholesale-price') - locator resolved to <input value="" type="text" name="wholesale[price]" id=…/> - elementHandle.fill("90") - waiting for element to be visible, enabled and editable - element is not visible - waiting... at ../../pages/basePage.ts:640 638 | // fill in input field 639 | async fill(selector: string, text: string): Promise<void> { > 640 | await this.page.fill(selector, text); | ^ 641 | } 642 | 643 | // fill if visible at ProductsPage.fill (/home/runner/work/dokan/dokan/tests/pw/pages/basePage.ts:640:25) at ProductsPage.clearAndType (/home/runner/work/dokan/dokan/tests/pw/pages/basePage.ts:618:20) at ProductsPage.addProductWholesaleOptions (/home/runner/work/dokan/dokan/tests/pw/pages/productsPage.ts:607:20) at /home/runner/work/dokan/dokan/tests/pw/tests/e2e/products.spec.ts:164:9
[e2e_tests] › products.spec.ts:163:9 › Product functionality test › vendor can add product wholesale options @pro @v: tests/pw/pages/basePage.ts#L877
4) [e2e_tests] › products.spec.ts:163:9 › Product functionality test › vendor can add product wholesale options @Pro @v Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: locator.check: Clicking the checkbox did not change its state Call log: - waiting for locator('#wholesale\\[enable_wholesale\\]') - locator resolved to <input value="yes" type="checkbox" class="wholesaleChec…/> - attempting click action - waiting for element to be visible, enabled and stable - forcing action - element is visible, enabled and stable - scrolling into view if needed - done scrolling - performing click action - click action done - waiting for scheduled navigations to finish - navigations have finished at ../../pages/basePage.ts:877 875 | async checkLocator(selector: string): Promise<void> { 876 | const locator = this.page.locator(selector); > 877 | await locator.check({ force: true }); // forced is used to avoid "locator.check: Clicking the checkbox did not change its state" error | ^ 878 | } 879 | 880 | // click locator at ProductsPage.checkLocator (/home/runner/work/dokan/dokan/tests/pw/pages/basePage.ts:877:23) at ProductsPage.check (/home/runner/work/dokan/dokan/tests/pw/pages/basePage.ts:678:20) at ProductsPage.addProductWholesaleOptions (/home/runner/work/dokan/dokan/tests/pw/pages/productsPage.ts:606:20) at /home/runner/work/dokan/dokan/tests/pw/tests/e2e/products.spec.ts:164:9
[e2e_tests] › reports.spec.ts:41:9 › Reports test › admin can search all logs @pro @a: tests/pw/pages/reportsPage.ts#L67
5) [e2e_tests] › reports.spec.ts:41:9 › Reports test › admin can search all logs @Pro @A ───────── Error: expect(received).toBe(expected) // Object.is equality Expected: 1 Received: 14 at ../../pages/reportsPage.ts:67 65 | await this.toBeVisible(selector.admin.dokan.reports.allLogs.orderIdCell(orderId)); 66 | const count = (await this.getElementText(selector.admin.dokan.reports.allLogs.numberOfRowsFound))?.split(' ')[0]; > 67 | expect(Number(count)).toBe(1); | ^ 68 | // await this.clickAndWaitForResponseAndLoadState(data.subUrls.api.dokan.logs, selector.admin.dokan.reports.allLogs.filters.clear); 69 | } 70 | at ReportsPage.searchAllLogs (/home/runner/work/dokan/dokan/tests/pw/pages/reportsPage.ts:67:31) at /home/runner/work/dokan/dokan/tests/pw/tests/e2e/reports.spec.ts:42:9
[e2e_tests] › reports.spec.ts:41:9 › Reports test › admin can search all logs @pro @a: tests/pw/pages/reportsPage.ts#L67
5) [e2e_tests] › reports.spec.ts:41:9 › Reports test › admin can search all logs @Pro @A ───────── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(received).toBe(expected) // Object.is equality Expected: 1 Received: 17 at ../../pages/reportsPage.ts:67 65 | await this.toBeVisible(selector.admin.dokan.reports.allLogs.orderIdCell(orderId)); 66 | const count = (await this.getElementText(selector.admin.dokan.reports.allLogs.numberOfRowsFound))?.split(' ')[0]; > 67 | expect(Number(count)).toBe(1); | ^ 68 | // await this.clickAndWaitForResponseAndLoadState(data.subUrls.api.dokan.logs, selector.admin.dokan.reports.allLogs.filters.clear); 69 | } 70 | at ReportsPage.searchAllLogs (/home/runner/work/dokan/dokan/tests/pw/pages/reportsPage.ts:67:31) at /home/runner/work/dokan/dokan/tests/pw/tests/e2e/reports.spec.ts:42:9
e2e_api tests
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v3, actions/setup-node@v3, actions/cache@v3, actions/github-script@v6, actions/upload-artifact@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
Slow Test: tests/pw/[api_tests] › products.spec.ts#L1
tests/pw/[api_tests] › products.spec.ts took 27.7s
Slow Test: tests/pw/[api_tests] › supportTickets.spec.ts#L1
tests/pw/[api_tests] › supportTickets.spec.ts took 19.5s
Slow Test: tests/pw/[e2e_tests] › products.spec.ts#L1
tests/pw/[e2e_tests] › products.spec.ts took 7.8m
Slow Test: tests/pw/[e2e_tests] › storeSupports.spec.ts#L1
tests/pw/[e2e_tests] › storeSupports.spec.ts took 3.1m
🎭 Playwright Run Summary
3 failed [api_tests] › announcements.spec.ts:30:9 › announcements api test › get all announcements @Pro ─ [api_tests] › refunds.spec.ts:53:9 › refunds api test › approve a refund @Pro ────────────────── [api_tests] › refunds.spec.ts:60:9 › refunds api test › update batch refunds @Pro ────────────── 28 skipped 257 passed (2.0m)
🎭 Playwright Run Summary
6 failed [e2e_tests] › customer.spec.ts:80:9 › Customer functionality test › customer can buy product @lite @c [e2e_tests] › productAddons.spec.ts:38:9 › Product addon functionality test › vendor product addons menu page is rendering properly @Pro @exp @v [e2e_tests] › products.spec.ts:99:9 › Product functionality test › vendor can add product category @lite @v [e2e_tests] › products.spec.ts:163:9 › Product functionality test › vendor can add product wholesale options @Pro @v [e2e_tests] › reports.spec.ts:41:9 › Reports test › admin can search all logs @Pro @A ────────── [e2e_tests] › reports.spec.ts:45:9 › Reports test › admin can export all logs @Pro @A ────────── 16 flaky [e2e_tests] › announcements.spec.ts:45:9 › Announcements test (admin) › admin can trash announcement @Pro @A [e2e_tests] › coupons.spec.ts:43:9 › Coupons test › admin can add marketplace coupon @Pro @A ─── [e2e_tests] › coupons.spec.ts:80:9 › Coupons test › customer can buy product with coupon @Pro @c [e2e_tests] › customer.spec.ts:26:9 › Customer user functionality test › customer can register @lite @c [e2e_tests] › productAdvertising.spec.ts:74:9 › Product Advertising test › vendor can buy product advertising @Pro @v [e2e_tests] › productReviews.spec.ts:52:9 › Product Reviews test › vendor can approve product review @Pro @v [e2e_tests] › products.spec.ts:147:9 › Product functionality test › vendor can quick edit product @Pro @v [e2e_tests] › products.spec.ts:171:9 › Product functionality test › vendor can add product other options @lite @v [e2e_tests] › refunds.spec.ts:61:9 › Refunds test › admin can perform refund requests bulk actions @Pro @A [e2e_tests] › storeReviews.spec.ts:72:9 › Store Reviews test › admin can perform store reviews bulk action @Pro @A [e2e_tests] › stores.spec.ts:41:9 › Stores test › admin can add vendor @lite @A ──────────────── [e2e_tests] › vendorBooking.spec.ts:120:9 › Booking Product test › vendor can add booking for existing customer @Pro @v [e2e_tests] › vendorSettings.spec.ts:73:9 › Vendor settings test › vendor can set open-close settings @lite @v [e2e_tests] › vendorSettings.spec.ts:90:9 › Vendor settings test › vendor can set discount settings @Pro @v [e2e_tests] › vendorVerifications.spec.ts:31:9 › Verifications test › vendor can send id verification request @Pro @v [e2e_tests] › vendorVerifications.spec.ts:35:9 › Verifications test › vendor can send address verification request @Pro @v 140 skipped 462 passed (17.4m)

Artifacts

Produced during runtime
Name Size
test-artifact Expired
130 MB