Skip to content

update module tests #29

update module tests

update module tests #29

Triggered via push February 13, 2024 19:27
Status Failure
Total duration 22m 28s
Artifacts 1

all-tests.yml

on: push
Fit to window
Zoom out
Zoom in

Annotations

20 errors, 3 warnings, and 2 notices
[api_tests] › storeReviews.spec.ts:67:9 › store reviews api test › restore a deleted store review @pro: tests/pw/tests/api/storeReviews.spec.ts#L69
1) [api_tests] › storeReviews.spec.ts:67:9 › store reviews api test › restore a deleted store review @Pro Error: expect(received).toBeTruthy() Received: false 67 | test('restore a deleted store review @Pro', async () => { 68 | const [response, responseBody] = await apiUtils.put(endPoints.restoreDeletedStoreReview(reviewId)); > 69 | expect(response.ok()).toBeTruthy(); | ^ 70 | expect(responseBody).toBeTruthy(); 71 | }); 72 | at /home/runner/work/dokan/dokan/tests/pw/tests/api/storeReviews.spec.ts:69:31
[api_tests] › storeReviews.spec.ts:67:9 › store reviews api test › restore a deleted store review @pro: tests/pw/tests/api/storeReviews.spec.ts#L69
1) [api_tests] › storeReviews.spec.ts:67:9 › store reviews api test › restore a deleted store review @Pro Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(received).toBeTruthy() Received: false 67 | test('restore a deleted store review @Pro', async () => { 68 | const [response, responseBody] = await apiUtils.put(endPoints.restoreDeletedStoreReview(reviewId)); > 69 | expect(response.ok()).toBeTruthy(); | ^ 70 | expect(responseBody).toBeTruthy(); 71 | }); 72 | at /home/runner/work/dokan/dokan/tests/pw/tests/api/storeReviews.spec.ts:69:31
[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.
[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 Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Test timeout of 10000ms exceeded.
[api_tests] › abuseReports.spec.ts:44:9 › abuse report api test › delete a abuse report @pro: tests/pw/tests/api/abuseReports.spec.ts#L47
3) [api_tests] › abuseReports.spec.ts:44:9 › abuse report api test › delete a abuse report @Pro ── Error: expect(received).toBeTruthy() Received: false 45 | const abuseReportId = await apiUtils.getAbuseReportId(); 46 | const [response, responseBody] = await apiUtils.delete(endPoints.deleteAbuseReport(abuseReportId)); > 47 | expect(response.ok()).toBeTruthy(); | ^ 48 | expect(responseBody).toBeTruthy(); 49 | expect(responseBody).toMatchSchema(schemas.abuseReportsSchema.abuseReportSchema); 50 | }); at /home/runner/work/dokan/dokan/tests/pw/tests/api/abuseReports.spec.ts:47:31
[api_tests] › announcements.spec.ts:30:9 › announcements api test › get all announcements @pro: tests/pw/tests/api/announcements.spec.ts#L34
4) [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": [ 9, "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:85:9 › announcements api test › get single announcement notice @pro: tests/pw/tests/api/announcements.spec.ts#L87
5) [api_tests] › announcements.spec.ts:85:9 › announcements api test › get single announcement notice @Pro Error: expect(received).toBeTruthy() Received: false 85 | test('get single announcement notice @Pro', async () => { 86 | const [response, responseBody] = await apiUtils.get(endPoints.getSingleAnnouncementNotice(announcementNoticeId), { headers: payloads.vendorAuth }); > 87 | expect(response.ok()).toBeTruthy(); | ^ 88 | expect(responseBody).toBeTruthy(); 89 | expect(responseBody).toMatchSchema(schemas.announcementsSchema.announcementNoticeSchema); 90 | }); at /home/runner/work/dokan/dokan/tests/pw/tests/api/announcements.spec.ts:87:31
[api_tests] › attributeTerms.spec.ts:63:9 › attribute term api test › update batch attribute terms @lite: tests/pw/tests/api/attributeTerms.spec.ts#L74
6) [api_tests] › attributeTerms.spec.ts:63:9 › attribute term api test › update batch attribute terms @lite Error: Result does not match schema: Expected object, received array Details: { "issues": [ { "code": "invalid_type", "expected": "object", "received": "array", "path": [], "message": "Expected object, received array" } ], "name": "ZodError" } 72 | expect(response.ok()).toBeTruthy(); 73 | expect(responseBody).toBeTruthy(); > 74 | expect(responseBody).toMatchSchema(schemas.attributeTeermsSchema.batchupdateAttributesSchema); | ^ 75 | }); 76 | }); 77 | at /home/runner/work/dokan/dokan/tests/pw/tests/api/attributeTerms.spec.ts:74:30
[api_tests] › quoteRequests.spec.ts:55:9 › request quote api test › delete a request quote @pro: tests/pw/utils/apiUtils.ts#L1055
7) [api_tests] › quoteRequests.spec.ts:55:9 › request quote api test › delete a request quote @Pro TypeError: Cannot read properties of undefined (reading '0') at ../../utils/apiUtils.ts:1055 1053 | async createQuoteRequest(payload: object, auth?: auth): Promise<[responseBody, string, string]> { 1054 | const [, responseBody] = await this.post(endPoints.createQuoteRequest, { data: payload, headers: auth }); > 1055 | const quoteId = String(responseBody[0]?.data?.id); | ^ 1056 | const quoteTitle = String(responseBody[0]?.data?.title); 1057 | return [responseBody, quoteId, quoteTitle]; 1058 | } at ApiUtils.createQuoteRequest (/home/runner/work/dokan/dokan/tests/pw/utils/apiUtils.ts:1055:44) at /home/runner/work/dokan/dokan/tests/pw/tests/api/quoteRequests.spec.ts:24:30
[api_tests] › sellerBadge.spec.ts:85:9 › seller badge api test › update a seller badge @pro: tests/pw/tests/api/sellerBadge.spec.ts#L87
8) [api_tests] › sellerBadge.spec.ts:85:9 › seller badge api test › update a seller badge @Pro ─── Error: expect(received).toBeTruthy() Received: false 85 | test('update a seller badge @Pro', async () => { 86 | const [response, responseBody] = await apiUtils.put(endPoints.updateSellerBadge(badgeId), { data: payloads.updateSellerBadge }); > 87 | expect(response.ok()).toBeTruthy(); | ^ 88 | expect(responseBody).toBeTruthy(); 89 | expect(responseBody).toMatchSchema(schemas.sellerBadgeSchema.badgeCreateUpdateSchema); 90 | }); at /home/runner/work/dokan/dokan/tests/pw/tests/api/sellerBadge.spec.ts:87:31
[e2e_tests] › productAdvertising.spec.ts:68:9 › Product Advertising test › vendor can buy product advertising @pro @v: tests/pw/pages/basePage.ts#L238
1) [e2e_tests] › productAdvertising.spec.ts:68: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:71:25
[e2e_tests] › productAdvertising.spec.ts:68:9 › Product Advertising test › vendor can buy product advertising @pro @v: tests/pw/pages/basePage.ts#L232
1) [e2e_tests] › productAdvertising.spec.ts:68: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:71:25
[e2e_tests] › requestForQuoteRules.spec.ts:44:9 › Request for quotation Rules test › admin can restore quote rule @pro @a: tests/pw/pages/basePage.ts#L438
2) [e2e_tests] › requestForQuoteRules.spec.ts:44:9 › Request for quotation Rules test › admin can restore quote rule @Pro @A TimeoutError: locator.hover: Timeout 20000ms exceeded. Call log: - waiting for locator('//strong[contains(text(),\'test rule_E5O5TnniIB\')]/../..') - locator resolved to <tr>…</tr> - attempting hover action - waiting for element to be visible and stable - element was detached from the DOM, retrying 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 RequestForQuotationsPage.hover (/home/runner/work/dokan/dokan/tests/pw/pages/basePage.ts:438:43) at RequestForQuotationsPage.updateQuoteRule (/home/runner/work/dokan/dokan/tests/pw/pages/requestForQuotationsPage.ts:118:28) at /home/runner/work/dokan/dokan/tests/pw/tests/e2e/requestForQuoteRules.spec.ts:45:9
[e2e_tests] › requestForQuoteRules.spec.ts:44:9 › Request for quotation Rules test › admin can restore quote rule @pro @a: tests/pw/pages/basePage.ts#L438
2) [e2e_tests] › requestForQuoteRules.spec.ts:44:9 › Request for quotation Rules test › admin can restore quote rule @Pro @A Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── TimeoutError: locator.hover: Timeout 20000ms exceeded. Call log: - waiting for locator('//strong[contains(text(),\'test rule_6WzRXCElxg\')]/../..') 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 RequestForQuotationsPage.hover (/home/runner/work/dokan/dokan/tests/pw/pages/basePage.ts:438:43) at RequestForQuotationsPage.updateQuoteRule (/home/runner/work/dokan/dokan/tests/pw/pages/requestForQuotationsPage.ts:118:28) at /home/runner/work/dokan/dokan/tests/pw/tests/e2e/requestForQuoteRules.spec.ts:45:9
[e2e_tests] › announcements.spec.ts:45:9 › Announcements test (admin) › admin can trash announcement @pro @a: tests/pw/pages/basePage.ts#L438
3) [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_9ec4qz4yPF\')]/../..') 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
4) [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:80:9 › Coupons test › customer can buy product with coupon @pro @c: tests/pw/pages/basePage.ts#L1331
5) [e2e_tests] › coupons.spec.ts:80:9 › Coupons test › customer can buy product with 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.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] › customer.spec.ts:62:9 › Customer functionality test › customer can add billing details @lite @c: tests/pw/pages/basePage.ts#L1331
6) [e2e_tests] › customer.spec.ts:62:9 › Customer functionality test › customer can add billing details @lite @c Error: Timed out 15000ms waiting for expect(locator).toContainText(expected) Locator: locator('.woocommerce .is-success') Expected string: "Address changed successfully." Received string: "" Call log: - expect.toContainText with timeout 15000ms - waiting for locator('.woocommerce .is-success') 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.addBillingAddress (/home/runner/work/dokan/dokan/tests/pw/pages/customerPage.ts:194:20) at /home/runner/work/dokan/dokan/tests/pw/tests/e2e/customer.spec.ts:63:9
[e2e_tests] › productReviews.spec.ts:56:9 › Product Reviews test › vendor can restore trashed product review @pro @v: tests/pw/pages/basePage.ts#L232
7) [e2e_tests] › productReviews.spec.ts:56:9 › Product Reviews test › vendor can restore trashed 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:71:28) at /home/runner/work/dokan/dokan/tests/pw/tests/e2e/productReviews.spec.ts:58:9
[e2e_tests] › products.spec.ts:97:9 › Product functionality test › vendor can add product category @lite @v: tests/pw/pages/basePage.ts#L238
8) [e2e_tests] › products.spec.ts:97:9 › Product functionality test › vendor can add product category @lite @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 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: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/[e2e_tests] › products.spec.ts#L1
tests/pw/[e2e_tests] › products.spec.ts took 7.1m
Slow Test: tests/pw/[e2e_tests] › storeSupports.spec.ts#L1
tests/pw/[e2e_tests] › storeSupports.spec.ts took 3.4m
🎭 Playwright Run Summary
2 failed [api_tests] › storeReviews.spec.ts:67:9 › store reviews api test › restore a deleted store review @Pro [api_tests] › supportTickets.spec.ts:76:9 › support ticket api test › update batch support tickets @Pro 8 flaky [api_tests] › abuseReports.spec.ts:44:9 › abuse report api test › delete a abuse report @Pro ─── [api_tests] › announcements.spec.ts:30:9 › announcements api test › get all announcements @Pro ─ [api_tests] › announcements.spec.ts:85:9 › announcements api test › get single announcement notice @Pro [api_tests] › attributeTerms.spec.ts:63:9 › attribute term api test › update batch attribute terms @lite [api_tests] › quoteRequests.spec.ts:55:9 › request quote api test › delete a request quote @Pro [api_tests] › sellerBadge.spec.ts:85:9 › seller badge api test › update a seller badge @Pro ──── [api_tests] › withdraws.spec.ts:62:9 › withdraw api test › update a withdraw @lite ───────────── [api_tests] › withdraws.spec.ts:81:9 › withdraw api test › create a withdraw @lite ───────────── 28 skipped 250 passed (2.9m)
🎭 Playwright Run Summary
2 failed [e2e_tests] › productAdvertising.spec.ts:68:9 › Product Advertising test › vendor can buy product advertising @Pro @v [e2e_tests] › requestForQuoteRules.spec.ts:44:9 › Request for quotation Rules test › admin can restore quote rule @Pro @A 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:80:9 › Coupons test › customer can buy product with coupon @Pro @c [e2e_tests] › customer.spec.ts:62:9 › Customer functionality test › customer can add billing details @lite @c [e2e_tests] › productReviews.spec.ts:56:9 › Product Reviews test › vendor can restore trashed product review @Pro @v [e2e_tests] › products.spec.ts:97:9 › Product functionality test › vendor can add product category @lite @v [e2e_tests] › products.spec.ts:179:9 › Product functionality test › vendor can duplicate product @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] › shop.spec.ts:43:9 › Shop functionality test › customer can filter products by location @Pro @c [e2e_tests] › storeReviews.spec.ts:72:9 › Store Reviews test › admin can perform store reviews bulk action @Pro @A [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] › vendorSettings.spec.ts:77:9 › Vendor settings test › vendor can set vacation 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 121 skipped 461 passed (15.8m)

Artifacts

Produced during runtime
Name Size
test-artifact Expired
117 MB