Skip to content

Merge branch 'testlite' into e2e-pw #31

Merge branch 'testlite' into e2e-pw

Merge branch 'testlite' into e2e-pw #31

Triggered via push February 14, 2024 09:10
Status Failure
Total duration 23m 30s
Artifacts 1

all-tests.yml

on: push
Fit to window
Zoom out
Zoom in

Annotations

14 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": [ 6, "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": [ 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] › supportTickets.spec.ts:76:9 › support ticket api test › update batch support tickets @pro: tests/pw/tests/api/supportTickets.spec.ts#L1
2) [api_tests] › supportTickets.spec.ts:76:9 › support ticket api test › update batch support tickets @Pro Test timeout of 10000ms exceeded.
e2e_api tests
Process completed with exit code 1.
[e2e_tests] › coupons.spec.ts:80:9 › Coupons test › customer can buy product with coupon @pro @c: tests/pw/pages/basePage.ts#L1331
1) [e2e_tests] › coupons.spec.ts:80:9 › Coupons test › customer can buy product with coupon @Pro @c Error: Timed out 15000ms waiting for expect(locator).toContainText(expected) Locator: locator('div.wc-block-components-notice-banner__content') Expected string: "Coupon code \"c1_v1\" has been applied to your cart." Received string: "" Call log: - expect.toContainText with timeout 15000ms - waiting for locator('div.wc-block-components-notice-banner__content') at ../../pages/basePage.ts:1331 1329 | // assert element to contain text 1330 | async toContainText(selector: string, text: string | RegExp) { > 1331 | await expect(this.page.locator(selector)).toContainText(text); | ^ 1332 | } 1333 | 1334 | // assert element to have count at CustomerPage.toContainText (/home/runner/work/dokan/dokan/tests/pw/pages/basePage.ts:1331:51) at CustomerPage.applyCoupon (/home/runner/work/dokan/dokan/tests/pw/pages/customerPage.ts:278:20) at CouponsPage.buyProductWithCoupon (/home/runner/work/dokan/dokan/tests/pw/pages/couponsPage.ts:113:9) at /home/runner/work/dokan/dokan/tests/pw/tests/e2e/coupons.spec.ts:81:9
[e2e_tests] › coupons.spec.ts:80:9 › Coupons test › customer can buy product with coupon @pro @c: tests/pw/pages/basePage.ts#L238
1) [e2e_tests] › coupons.spec.ts:80:9 › Coupons test › customer can buy product with coupon @Pro @c Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── TimeoutError: page.waitForResponse: Timeout 20000ms exceeded while waiting for event "response" at ../../pages/basePage.ts:238 236 | // click & wait for response 237 | async clickAndWaitForResponseAndLoadState(subUrl: string, selector: string, code = 200): Promise<Response> { > 238 | const [, response] = await Promise.all([this.page.waitForLoadState('networkidle'), this.page.waitForResponse(resp => resp.url().includes(subUrl) && resp.status() === code), this.page.locator(selector).click()]); | ^ 239 | expect(response.status()).toBe(code); 240 | return response; 241 | } at CustomerPage.clickAndWaitForResponseAndLoadState (/home/runner/work/dokan/dokan/tests/pw/pages/basePage.ts:238:102) at CustomerPage.placeOrder (/home/runner/work/dokan/dokan/tests/pw/pages/customerPage.ts:323:20) at CouponsPage.buyProductWithCoupon (/home/runner/work/dokan/dokan/tests/pw/pages/couponsPage.ts:114:9) at /home/runner/work/dokan/dokan/tests/pw/tests/e2e/coupons.spec.ts:81:9
[e2e_tests] › productAdvertising.spec.ts:74:9 › Product Advertising test › vendor can buy product advertising @pro @v: tests/pw/pages/basePage.ts#L238
2) [e2e_tests] › productAdvertising.spec.ts:74:9 › Product Advertising test › vendor can buy product advertising @Pro @v TimeoutError: page.waitForResponse: Timeout 20000ms exceeded while waiting for event "response" at ../../pages/basePage.ts:238 236 | // click & wait for response 237 | async clickAndWaitForResponseAndLoadState(subUrl: string, selector: string, code = 200): Promise<Response> { > 238 | const [, response] = await Promise.all([this.page.waitForLoadState('networkidle'), this.page.waitForResponse(resp => resp.url().includes(subUrl) && resp.status() === code), this.page.locator(selector).click()]); | ^ 239 | expect(response.status()).toBe(code); 240 | return response; 241 | } at CustomerPage.clickAndWaitForResponseAndLoadState (/home/runner/work/dokan/dokan/tests/pw/pages/basePage.ts:238:102) at CustomerPage.paymentOrder (/home/runner/work/dokan/dokan/tests/pw/pages/customerPage.ts:365:20) at VendorPage.buyProductAdvertising (/home/runner/work/dokan/dokan/tests/pw/pages/vendorPage.ts:320:25) at /home/runner/work/dokan/dokan/tests/pw/tests/e2e/productAdvertising.spec.ts:77:25
[e2e_tests] › productAdvertising.spec.ts:74:9 › Product Advertising test › vendor can buy product advertising @pro @v: tests/pw/pages/basePage.ts#L232
2) [e2e_tests] › productAdvertising.spec.ts:74:9 › Product Advertising test › vendor can buy product advertising @Pro @v Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── TimeoutError: page.waitForResponse: Timeout 20000ms exceeded while waiting for event "response" at ../../pages/basePage.ts:232 230 | // click & wait for response 231 | async clickAndWaitForResponse(subUrl: string, selector: string, code = 200): Promise<Response> { > 232 | const [response] = await Promise.all([this.page.waitForResponse(resp => resp.url().includes(subUrl) && resp.status() === code), this.page.locator(selector).click()]); | ^ 233 | return response; 234 | } 235 | at VendorPage.clickAndWaitForResponse (/home/runner/work/dokan/dokan/tests/pw/pages/basePage.ts:232:57) at VendorPage.buyProductAdvertising (/home/runner/work/dokan/dokan/tests/pw/pages/vendorPage.ts:317:20) at /home/runner/work/dokan/dokan/tests/pw/tests/e2e/productAdvertising.spec.ts:77:25
[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: 'Aaron Armstrong on p1_v1 (' }) 3) <article>…</article> aka locator('article').filter({ hasText: 'Kelly Cremin on p1_v1 (simple)' }) 4) <article>…</article> aka locator('article').filter({ hasText: 'Gerard Lind on p1_v1 (simple)' }) 5) <article>…</article> aka locator('article').filter({ hasText: 'Dr. Barbara Skiles on p1_v1 (' }) 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: 'Aaron Armstrong on p1_v1 (' }) 3) <article>…</article> aka locator('article').filter({ hasText: 'Kelly Cremin on p1_v1 (simple)' }) 4) <article>…</article> aka locator('article').filter({ hasText: 'Gerard Lind on p1_v1 (simple)' }) 5) <article>…</article> aka locator('article').filter({ hasText: 'Dr. Barbara Skiles on p1_v1 (' }) 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 20000ms 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] › sellerBadges.spec.ts:97:9 › Seller badge test › vendor can filter seller badges @pro @v: tests/pw/pages/sellerBadgesPage.ts#L310
5) [e2e_tests] › sellerBadges.spec.ts:97:9 › Seller badge test › vendor can filter seller badges @Pro @v Error: expect(received).toBeGreaterThan(expected) Expected: > 0 Received: 0 at ../../pages/sellerBadgesPage.ts:310 308 | await this.selectByValue(selector.vendor.vBadges.filterBadges, option); 309 | const count = (await this.getElementText(selector.vendor.vBadges.numberOfBadgesFound))?.split(' ')[0]; > 310 | expect(Number(count)).toBeGreaterThan(0); | ^ 311 | } 312 | } 313 | at SellerBadgesPage.filterSellerBadges (/home/runner/work/dokan/dokan/tests/pw/pages/sellerBadgesPage.ts:310:31) at /home/runner/work/dokan/dokan/tests/pw/tests/e2e/sellerBadges.spec.ts:98:9
[e2e_tests] › sellerBadges.spec.ts:97:9 › Seller badge test › vendor can filter seller badges @pro @v: tests/pw/pages/sellerBadgesPage.ts#L310
5) [e2e_tests] › sellerBadges.spec.ts:97:9 › Seller badge test › vendor can filter seller badges @Pro @v Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(received).toBeGreaterThan(expected) Expected: > 0 Received: 0 at ../../pages/sellerBadgesPage.ts:310 308 | await this.selectByValue(selector.vendor.vBadges.filterBadges, option); 309 | const count = (await this.getElementText(selector.vendor.vBadges.numberOfBadgesFound))?.split(' ')[0]; > 310 | expect(Number(count)).toBeGreaterThan(0); | ^ 311 | } 312 | } 313 | at SellerBadgesPage.filterSellerBadges (/home/runner/work/dokan/dokan/tests/pw/pages/sellerBadgesPage.ts:310:31) at /home/runner/work/dokan/dokan/tests/pw/tests/e2e/sellerBadges.spec.ts:98: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.1s
Slow Test: tests/pw/[api_tests] › supportTickets.spec.ts#L1
tests/pw/[api_tests] › supportTickets.spec.ts took 26.5s
Slow Test: tests/pw/[e2e_tests] › products.spec.ts#L1
tests/pw/[e2e_tests] › products.spec.ts took 8.7m
Slow Test: tests/pw/[e2e_tests] › storeSupports.spec.ts#L1
tests/pw/[e2e_tests] › storeSupports.spec.ts took 3.4m
🎭 Playwright Run Summary
1 failed [api_tests] › announcements.spec.ts:30:9 › announcements api test › get all announcements @Pro ─ 1 flaky [api_tests] › supportTickets.spec.ts:76:9 › support ticket api test › update batch support tickets @Pro 28 skipped 258 passed (1.9m)
🎭 Playwright Run Summary
6 failed [e2e_tests] › coupons.spec.ts:80:9 › Coupons test › customer can buy product with coupon @Pro @c [e2e_tests] › productAdvertising.spec.ts:74:9 › Product Advertising test › vendor can buy product advertising @Pro @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] › sellerBadges.spec.ts:97:9 › Seller badge test › vendor can filter seller badges @Pro @v [e2e_tests] › vendorVerifications.spec.ts:31:9 › Verifications test › vendor can send id verification request @Pro @v 17 flaky [e2e_tests] › admin.spec.ts:31:9 › Admin functionality test › admin can logout @lite @A ──────── [e2e_tests] › announcements.spec.ts:45:9 › Announcements test (admin) › admin can trash announcement @Pro @A [e2e_tests] › coupons.spec.ts:76:9 › Coupons test › customer can apply coupon @Pro @c ────────── [e2e_tests] › customer.spec.ts:74:9 › Customer functionality test › customer can add product to cart @lite @c [e2e_tests] › productReviews.spec.ts:52:9 › Product Reviews test › vendor can approve product review @Pro @v [e2e_tests] › products.spec.ts:63:9 › Product functionality test › admin can add vendor subscription @Pro @A [e2e_tests] › products.spec.ts:75:9 › Product functionality test › vendor can add variable product @Pro @v [e2e_tests] › products.spec.ts:91:9 › Product functionality test › vendor can add downloadable product @lite @v [e2e_tests] › refunds.spec.ts:56:9 › Refunds test › admin can perform refund requests bulk actions @Pro @A [e2e_tests] › reports.spec.ts:40:9 › Reports test › admin can search all logs @Pro @A ────────── [e2e_tests] › requestForQuoteRules.spec.ts:54:9 › Request for quotation Rules test › admin can perform quote rule bulk actions @Pro @A [e2e_tests] › reverseWithdraws.spec.ts:79:9 › Reverse withdraw test › vendor can pay reverse pay balance @lite @v [e2e_tests] › sellerBadges.spec.ts:52:9 › Seller badge test › admin can edit seller badge @Pro @A [e2e_tests] › stores.spec.ts:42:9 › Stores test › admin can add vendor @lite @A ──────────────── [e2e_tests] › stores.spec.ts:58:9 › Stores test › admin can edit vendor info @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:81:9 › Vendor settings test › vendor can set catalog settings @lite @v 136 skipped 456 passed (16.9m)

Artifacts

Produced during runtime
Name Size
test-artifact Expired
163 MB