Merge branch 'testlite' into e2e-pw #34
Annotations
13 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
|
e2e_api tests
Process completed with exit code 1.
|
[e2e_tests] › productAdvertising.spec.ts:74:9 › Product Advertising test › vendor can buy product advertising @pro @v:
tests/pw/pages/basePage.ts#L238
1) [e2e_tests] › productAdvertising.spec.ts:74:9 › Product Advertising test › vendor can buy product advertising @Pro @v
TimeoutError: page.waitForResponse: Timeout 30000ms 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#L238
1) [e2e_tests] › productAdvertising.spec.ts:74:9 › Product Advertising test › vendor can buy product advertising @Pro @v
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
TimeoutError: page.waitForResponse: Timeout 30000ms 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] › products.spec.ts:99:9 › Product functionality test › vendor can add product category @lite @v:
tests/pw/pages/basePage.ts#L1146
2) [e2e_tests] › products.spec.ts:99:9 › Product functionality test › vendor can add product category @lite @v
TimeoutError: locator.waitFor: Timeout 30000ms exceeded.
Call log:
- waiting for locator('#dokan-single-cat-search-input') to be visible
- locator resolved to hidden <input type="text" maxlength="100" placeholder="Search …/>
- locator resolved to hidden <input type="text" maxlength="100" placeholder="Search …/>
- locator resolved to hidden <input type="text" maxlength="100" placeholder="Search …/>
- locator resolved to hidden <input type="text" maxlength="100" placeholder="Search …/>
- locator resolved to hidden <input type="text" maxlength="100" placeholder="Search …/>
- locator resolved to hidden <input type="text" maxlength="100" placeholder="Search …/>
- locator resolved to hidden <input type="text" maxlength="100" placeholder="Search …/>
- locator resolved to hidden <input type="text" maxlength="100" placeholder="Search …/>
- locator resolved to hidden <input type="text" maxlength="100" placeholder="Search …/>
- locator resolved to hidden <input type="text" maxlength="100" placeholder="Search …/>
- locator resolved to hidden <input type="text" maxlength="100" placeholder="Search …/>
- locator resolved to hidden <input type="text" maxlength="100" placeholder="Search …/>
- locator resolved to hidden <input type="text" maxlength="100" placeholder="Search …/>
- locator resolved to hidden <input type="text" maxlength="100" placeholder="Search …/>
- locator resolved to hidden <input type="text" maxlength="100" placeholder="Search …/>
- locator resolved to hidden <input type="text" maxlength="100" placeholder="Search …/>
- locator resolved to hidden <input type="text" maxlength="100" placeholder="Search …/>
- locator resolved to hidden <input type="text" maxlength="100" placeholder="Search …/>
- locator resolved to hidden <input type="text" maxlength="100" placeholder="Search …/>
- locator resolved to hidden <input type="text" maxlength="100" placeholder="Search …/>
- locator resolved to hidden <input type="text" maxlength="100" placeholder="Search …/>
- locator resolved to hidden <input type="text" maxlength="100" placeholder="Search …/>
- locator resolved to hidden <input type="text" maxlength="100" placeholder="Search …/>
- locator resolved to hidden <input type="text" maxlength="100" placeholder="Search …/>
- locator resolved to hidden <input type="text" maxlength="100" placeholder="Search …/>
- locator resolved to hidden <input type="text" maxlength="100" placeholder="Search …/>
- locator resolved to hidden <input type="text" maxlength="100" placeholder="Search …/>
- locator resolved to hidden <input type="text" maxlength="100" placeholder="Search …/>
- locator resolved to hidden <input type="text" maxlength="100" placeholder="Search …/>
- locator resolved to hidden <input type="text" maxlength="100" placeholder="Search …/>
- locator resolved to hidden <input type="text" maxlength="100" placeholder="Search …/>
- locator resolved to hidden <input type="text" maxlength="100" placeholder="Search …/>
- locator resolved to hidden <input type="text" maxlength="100" placeholder="Search …/>
- locator resolved to hidden <input type="text" maxlength="100" placeholder="Search …/>
- locator resolved to hidden <input type="text" maxlength="100" placeholder="Search …/>
- locator resolved to hidden <input type="text" maxlength="100" placeholder="Search …/>
- locator resolved to hidden <input type="text" maxlength="100" placeholder="Search …/>
- locator resolved to hidden <input type="text" maxlength="100" placeholder="Search …/>
- locator resolved to hidden <input type="text" maxlength="100" placeholder="Search …/>
- locator resolved to hidden <input type="text" maxlength="100" placeholder="Se
|
[e2e_tests] › products.spec.ts:99:9 › Product functionality test › vendor can add product category @lite @v:
tests/pw/pages/basePage.ts#L238
2) [e2e_tests] › products.spec.ts:99:9 › Product functionality test › vendor can add product category @lite @v
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
TimeoutError: page.waitForResponse: Timeout 30000ms 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.goToProductEdit (/home/runner/work/dokan/dokan/tests/pw/pages/productsPage.ts:455: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:159:9 › Product functionality test › vendor can add product rma options @pro @v:
tests/pw/pages/basePage.ts#L238
3) [e2e_tests] › products.spec.ts:159:9 › Product functionality test › vendor can add product rma options @Pro @v
TimeoutError: page.waitForResponse: Timeout 30000ms 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.goToProductEdit (/home/runner/work/dokan/dokan/tests/pw/pages/productsPage.ts:455:20)
at ProductsPage.addProductRmaOptions (/home/runner/work/dokan/dokan/tests/pw/pages/productsPage.ts:584:9)
at /home/runner/work/dokan/dokan/tests/pw/tests/e2e/products.spec.ts:160:9
|
[e2e_tests] › products.spec.ts:159:9 › Product functionality test › vendor can add product rma options @pro @v:
tests/pw/pages/basePage.ts#L238
3) [e2e_tests] › products.spec.ts:159:9 › Product functionality test › vendor can add product rma options @Pro @v
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
TimeoutError: page.waitForResponse: Timeout 30000ms 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.goToProductEdit (/home/runner/work/dokan/dokan/tests/pw/pages/productsPage.ts:455:20)
at ProductsPage.addProductRmaOptions (/home/runner/work/dokan/dokan/tests/pw/pages/productsPage.ts:584:9)
at /home/runner/work/dokan/dokan/tests/pw/tests/e2e/products.spec.ts:160:9
|
[e2e_tests] › products.spec.ts:185:9 › Product functionality test › vendor can permanently delete product @lite @v:
tests/pw/pages/basePage.ts#L885
4) [e2e_tests] › products.spec.ts:185:9 › Product functionality test › vendor can permanently delete product @lite @v
TimeoutError: locator.click: Timeout 30000ms exceeded.
Call log:
- waiting for locator('//a[contains(text(),\'Tasty Rubber Fish (Simple)\')]/../..//span[@Class="delete"]//a')
- locator resolved to <a onclick="dokan_show_delete_prompt( event, 'Are y…>Delete Permanently</a>
- attempting click action
- waiting for element to be visible, enabled and stable
- element is visible, enabled and stable
- scrolling into view if needed
- done scrolling
- <td data-title="Name" class="column-primary">…</td> intercepts pointer events
- retrying click action, attempt #1
- waiting for element to be visible, enabled and stable
- element is not visible - waiting...
at ../../pages/basePage.ts:885
883 | async clickLocator(selector: string): Promise<void> {
884 | const locator = this.page.locator(selector);
> 885 | await locator.click();
| ^
886 | }
887 |
888 | // get locator count
at ProductsPage.clickLocator (/home/runner/work/dokan/dokan/tests/pw/pages/basePage.ts:885:23)
at ProductsPage.click (/home/runner/work/dokan/dokan/tests/pw/pages/basePage.ts:170:20)
at ProductsPage.permanentlyDeleteProduct (/home/runner/work/dokan/dokan/tests/pw/pages/productsPage.ts:687:20)
at /home/runner/work/dokan/dokan/tests/pw/tests/e2e/products.spec.ts:187:9
|
[e2e_tests] › products.spec.ts:185:9 › Product functionality test › vendor can permanently delete product @lite @v:
tests/pw/pages/basePage.ts#L885
4) [e2e_tests] › products.spec.ts:185:9 › Product functionality test › vendor can permanently delete product @lite @v
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
TimeoutError: locator.click: Timeout 30000ms exceeded.
Call log:
- waiting for locator('//a[contains(text(),\'Unbranded Plastic Salad (Simple)\')]/../..//span[@Class="delete"]//a')
- locator resolved to <a onclick="dokan_show_delete_prompt( event, 'Are y…>Delete Permanently</a>
- attempting click action
- waiting for element to be visible, enabled and stable
- element is not visible - waiting...
at ../../pages/basePage.ts:885
883 | async clickLocator(selector: string): Promise<void> {
884 | const locator = this.page.locator(selector);
> 885 | await locator.click();
| ^
886 | }
887 |
888 | // get locator count
at ProductsPage.clickLocator (/home/runner/work/dokan/dokan/tests/pw/pages/basePage.ts:885:23)
at ProductsPage.click (/home/runner/work/dokan/dokan/tests/pw/pages/basePage.ts:170:20)
at ProductsPage.permanentlyDeleteProduct (/home/runner/work/dokan/dokan/tests/pw/pages/productsPage.ts:687:20)
at /home/runner/work/dokan/dokan/tests/pw/tests/e2e/products.spec.ts:187:9
|
[e2e_tests] › reverseWithdraws.spec.ts:46:9 › Reverse withdraw test › filter reverse withdraws by store @lite @a:
tests/pw/pages/basePage.ts#L1323
5) [e2e_tests] › reverseWithdraws.spec.ts:46:9 › Reverse withdraw test › filter reverse withdraws by store @lite @A
Error: Timed out 15000ms waiting for expect(locator).toBeVisible()
Locator: locator('//td//a[contains(text(), \'vendor2store\')]/../..')
Expected: visible
Received: hidden
Call log:
- expect.toBeVisible with timeout 15000ms
- waiting for locator('//td//a[contains(text(), \'vendor2store\')]/../..')
at ../../pages/basePage.ts:1323
1321 | // assert element to be visible
1322 | async toBeVisible(selector: string) {
> 1323 | await expect(this.page.locator(selector)).toBeVisible();
| ^
1324 | }
1325 |
1326 | // assert checkbox to be checked
at ReverseWithdrawsPage.toBeVisible (/home/runner/work/dokan/dokan/tests/pw/pages/basePage.ts:1323:51)
at ReverseWithdrawsPage.filterReverseWithdraws (/home/runner/work/dokan/dokan/tests/pw/pages/reverseWithdrawsPage.ts:53:20)
at /home/runner/work/dokan/dokan/tests/pw/tests/e2e/reverseWithdraws.spec.ts:47:9
|
[e2e_tests] › reverseWithdraws.spec.ts:46:9 › Reverse withdraw test › filter reverse withdraws by store @lite @a:
tests/pw/pages/basePage.ts#L1323
5) [e2e_tests] › reverseWithdraws.spec.ts:46:9 › Reverse withdraw test › filter reverse withdraws by store @lite @A
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: Timed out 15000ms waiting for expect(locator).toBeVisible()
Locator: locator('//td//a[contains(text(), \'vendor2store\')]/../..')
Expected: visible
Received: hidden
Call log:
- expect.toBeVisible with timeout 15000ms
- waiting for locator('//td//a[contains(text(), \'vendor2store\')]/../..')
at ../../pages/basePage.ts:1323
1321 | // assert element to be visible
1322 | async toBeVisible(selector: string) {
> 1323 | await expect(this.page.locator(selector)).toBeVisible();
| ^
1324 | }
1325 |
1326 | // assert checkbox to be checked
at ReverseWithdrawsPage.toBeVisible (/home/runner/work/dokan/dokan/tests/pw/pages/basePage.ts:1323:51)
at ReverseWithdrawsPage.filterReverseWithdraws (/home/runner/work/dokan/dokan/tests/pw/pages/reverseWithdrawsPage.ts:53:20)
at /home/runner/work/dokan/dokan/tests/pw/tests/e2e/reverseWithdraws.spec.ts:47: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.2s
|
Slow Test:
tests/pw/[api_tests] › stores.spec.ts#L1
tests/pw/[api_tests] › stores.spec.ts took 18.0s
|
Slow Test:
tests/pw/[e2e_tests] › products.spec.ts#L1
tests/pw/[e2e_tests] › products.spec.ts took 12.4m
|
Slow Test:
tests/pw/[e2e_tests] › vendorBooking.spec.ts#L1
tests/pw/[e2e_tests] › vendorBooking.spec.ts took 4.2m
|
🎭 Playwright Run Summary
1 failed
[api_tests] › announcements.spec.ts:30:9 › announcements api test › get all announcements @Pro ─
28 skipped
259 passed (1.9m)
|
🎭 Playwright Run Summary
8 failed
[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:159:9 › Product functionality test › vendor can add product rma options @Pro @v
[e2e_tests] › products.spec.ts:185:9 › Product functionality test › vendor can permanently delete product @lite @v
[e2e_tests] › reverseWithdraws.spec.ts:46:9 › Reverse withdraw test › filter reverse withdraws by store @lite @A
[e2e_tests] › vendorBooking.spec.ts:81:9 › Booking Product test › vendor can view booking product @Pro @v
[e2e_tests] › vendorBooking.spec.ts:120:9 › Booking Product test › vendor can add booking for existing customer @Pro @v
[e2e_tests] › vendorTools.spec.ts:35:9 › Vendor tools test › vendor can import product as csv @Pro @v
20 flaky
[e2e_tests] › announcements.spec.ts:45:9 › Announcements test (admin) › admin can trash announcement @Pro @A
[e2e_tests] › coupons.spec.ts:80:9 › Coupons test › customer can buy product with coupon @Pro @c
[e2e_tests] › customer.spec.ts:30:9 › Customer user functionality test › customer can login @lite @c
[e2e_tests] › customer.spec.ts:70:9 › Customer functionality test › customer can add customer details @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] › productAddons.spec.ts:46:9 › Product addon functionality test › vendor can edit addon @Pro @v
[e2e_tests] › productReviews.spec.ts:52:9 › Product Reviews test › vendor can approve product review @Pro @v
[e2e_tests] › productReviews.spec.ts:57:9 › Product Reviews test › vendor can restore trashed 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:111:9 › Product functionality test › vendor can export products @Pro @v
[e2e_tests] › products.spec.ts:143:9 › Product functionality test › vendor can edit product @lite @v
[e2e_tests] › refunds.spec.ts:61:9 › Refunds test › admin can perform refund requests bulk actions @Pro @A
[e2e_tests] › reports.spec.ts:41:9 › Reports test › admin can search all logs @Pro @A ──────────
[e2e_tests] › sellerBadges.spec.ts:52:9 › Seller badge test › admin can edit seller badge @Pro @A
[e2e_tests] › spmv.spec.ts:85:9 › Vendor SPMV test › vendor can clone product @Pro @v ──────────
[e2e_tests] › stores.spec.ts:41:9 › Stores test › admin can add vendor @lite @A ────────────────
[e2e_tests] › vendorAuction.spec.ts:52:9 › Auction Product test › vendor can edit auction product @Pro @v
[e2e_tests] › vendorBooking.spec.ts:65:9 › Booking Product test › vendor can edit booking product @Pro @v
[e2e_tests] › vendorVerifications.spec.ts:31:9 › Verifications test › vendor can send id verification request @Pro @v
140 skipped
456 passed (19.0m)
|
Artifacts
Produced during runtime
Name | Size | |
---|---|---|
test-artifact
Expired
|
185 MB |
|