Skip to content

refactored suite for parallism #30

refactored suite for parallism

refactored suite for parallism #30

Triggered via push February 14, 2024 09:09
Status Failure
Total duration 21m 50s
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": [ 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] › 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] › products.spec.ts:99:9 › Product functionality test › vendor can add product category @lite @v: tests/pw/pages/basePage.ts#L438
1) [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: 'Lillie Conroy on p1_v1 (' }) 3) <article>…</article> aka locator('article').filter({ hasText: 'Becky Walsh on p1_v1 (simple)' }) 4) <article>…</article> aka locator('article').filter({ hasText: 'Henry Abshire on p1_v1 (' }) 5) <article>…</article> aka locator('article').filter({ hasText: 'Carmen Langworth 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
1) [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: 'Lillie Conroy on p1_v1 (' }) 3) <article>…</article> aka locator('article').filter({ hasText: 'Becky Walsh on p1_v1 (simple)' }) 4) <article>…</article> aka locator('article').filter({ hasText: 'Henry Abshire on p1_v1 (' }) 5) <article>…</article> aka locator('article').filter({ hasText: 'Carmen Langworth 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] › announcements.spec.ts:45:9 › Announcements test (admin) › admin can trash announcement @pro @a: tests/pw/pages/basePage.ts#L438
2) [e2e_tests] › announcements.spec.ts:45:9 › Announcements test (admin) › admin can trash announcement @Pro @A TimeoutError: locator.hover: Timeout 20000ms exceeded. Call log: - waiting for locator('//strong[contains(text(),\'test announcement_qfKRSHRck8\')]/../..') 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 AnnouncementsPage.hover (/home/runner/work/dokan/dokan/tests/pw/pages/basePage.ts:438:43) at AnnouncementsPage.updateAnnouncement (/home/runner/work/dokan/dokan/tests/pw/pages/announcementsPage.ts:84:28) at /home/runner/work/dokan/dokan/tests/pw/tests/e2e/announcements.spec.ts:47:9
[e2e_tests] › coupons.spec.ts:43:9 › Coupons test › admin can add marketplace coupon @pro @a: tests/pw/pages/basePage.ts#L238
3) [e2e_tests] › coupons.spec.ts:43:9 › Coupons test › admin can add marketplace coupon @Pro @A ── 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 CouponsPage.clickAndWaitForResponseAndLoadState (/home/runner/work/dokan/dokan/tests/pw/pages/basePage.ts:238:102) at CouponsPage.addMarketplaceCoupon (/home/runner/work/dokan/dokan/tests/pw/pages/couponsPage.ts:32:20) at /home/runner/work/dokan/dokan/tests/pw/tests/e2e/coupons.spec.ts:44:9
[e2e_tests] › coupons.spec.ts:76:9 › Coupons test › customer can apply coupon @pro @c: tests/pw/pages/basePage.ts#L1331
4) [e2e_tests] › coupons.spec.ts:76:9 › Coupons test › customer can apply coupon @Pro @c ───────── Error: expect.toContainText: Error: strict mode violation: locator('div.wc-block-components-notice-banner__content') resolved to 2 elements: 1) <div class="wc-block-components-notice-banner__conten…>The quantity of "p1_v1 (simple)" was changed to 2.</div> aka getByText('The quantity of "p1_v1 (') 2) <div class="wc-block-components-notice-banner__conten…>Coupon code "c1_v1" has been applied to your cart.</div> aka locator('#post-6').getByText('Coupon code "c1_v1" has been') 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.applyCoupon (/home/runner/work/dokan/dokan/tests/pw/pages/couponsPage.ts:107:9) at /home/runner/work/dokan/dokan/tests/pw/tests/e2e/coupons.spec.ts:77:9
[e2e_tests] › customer.spec.ts:26:9 › Customer user functionality test › customer can register @lite @c: tests/pw/pages/customerPage.ts#L84
5) [e2e_tests] › customer.spec.ts:26:9 › Customer user functionality test › customer can register @lite @c Error: expect(received).toBe(expected) // Object.is equality Expected: "gilbertromaguera" Received: undefined at ../../pages/customerPage.ts:84 82 | } 83 | const loggedInUser = await this.getCurrentUser(); > 84 | expect(loggedInUser).toBe(username.toLowerCase()); | ^ 85 | } 86 | 87 | // customer become vendor at CustomerPage.customerRegister (/home/runner/work/dokan/dokan/tests/pw/pages/customerPage.ts:84:30) at /home/runner/work/dokan/dokan/tests/pw/tests/e2e/customer.spec.ts:27:9
[e2e_tests] › productAdvertising.spec.ts:74:9 › Product Advertising test › vendor can buy product advertising @pro @v: tests/pw/pages/basePage.ts#L238
6) [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] › productReviews.spec.ts:62:9 › Product Reviews test › vendor can permanently-delete product review @pro @v: tests/pw/pages/basePage.ts#L232
7) [e2e_tests] › productReviews.spec.ts:62:9 › Product Reviews test › vendor can permanently-delete product review @Pro @v 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 ProductReviewsPage.clickAndWaitForResponse (/home/runner/work/dokan/dokan/tests/pw/pages/basePage.ts:232:57) at ProductReviewsPage.updateProductReview (/home/runner/work/dokan/dokan/tests/pw/pages/productReviewsPage.ts:77:28) at /home/runner/work/dokan/dokan/tests/pw/tests/e2e/productReviews.spec.ts:64:9
[e2e_tests] › products.spec.ts:63:9 › Product functionality test › admin can add vendor subscription @pro @a: tests/pw/pages/basePage.ts#L238
8) [e2e_tests] › products.spec.ts:63:9 › Product functionality test › admin can add vendor subscription @Pro @A 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 ProductsPage.clickAndWaitForResponseAndLoadState (/home/runner/work/dokan/dokan/tests/pw/pages/basePage.ts:238:102) at ProductsPage.addDokanSubscription (/home/runner/work/dokan/dokan/tests/pw/pages/productsPage.ts:249:20) at /home/runner/work/dokan/dokan/tests/pw/tests/e2e/products.spec.ts:64: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
9) [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_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.0s
Slow Test: tests/pw/[api_tests] › supportTickets.spec.ts#L1
tests/pw/[api_tests] › supportTickets.spec.ts took 26.8s
Slow Test: tests/pw/[e2e_tests] › products.spec.ts#L1
tests/pw/[e2e_tests] › products.spec.ts took 7.2m
Slow Test: tests/pw/[e2e_tests] › storeSupports.spec.ts#L1
tests/pw/[e2e_tests] › storeSupports.spec.ts took 3.5m
🎭 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
1 failed [e2e_tests] › products.spec.ts:99:9 › Product functionality test › vendor can add product category @lite @v 17 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:76:9 › Coupons test › customer can apply 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:62:9 › Product Reviews test › vendor can permanently-delete 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:163:9 › Product functionality test › vendor can add product wholesale options @Pro @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] › requestForQuotes.spec.ts:65:9 › Request for quotation test admin › admin can convert quote to order @Pro @A [e2e_tests] › shop.spec.ts:43:9 › Shop functionality test › customer can filter products by location @Pro @c [e2e_tests] › spmv.spec.ts:85:9 › Vendor SPMV test › vendor can clone product @Pro @v ────────── [e2e_tests] › stores.spec.ts:42: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] › vendorVerifications.spec.ts:31:9 › Verifications test › vendor can send id verification request @Pro @v 136 skipped 459 passed (16.2m)

Artifacts

Produced during runtime
Name Size
test-artifact Expired
122 MB