From 761b734339811e04ca20ad9c58651b672f30d0df Mon Sep 17 00:00:00 2001 From: "S. Elliott Johnson" Date: Tue, 16 May 2023 18:50:15 -0600 Subject: [PATCH 1/6] fix: Flaky test --- .../enhance/old-property-access/+page.svelte | 24 ++++++++++++------- packages/kit/test/apps/basics/test/test.js | 2 +- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/packages/kit/test/apps/basics/src/routes/actions/enhance/old-property-access/+page.svelte b/packages/kit/test/apps/basics/src/routes/actions/enhance/old-property-access/+page.svelte index 290d6d57670d..1768c5d9dc7b 100644 --- a/packages/kit/test/apps/basics/src/routes/actions/enhance/old-property-access/+page.svelte +++ b/packages/kit/test/apps/basics/src/routes/actions/enhance/old-property-access/+page.svelte @@ -28,25 +28,33 @@
- Access form in submit
- Access data in submit
- Access form in callback
- Access data in callback
diff --git a/packages/kit/test/apps/basics/test/test.js b/packages/kit/test/apps/basics/test/test.js index 1571911d7e7b..c32071be6193 100644 --- a/packages/kit/test/apps/basics/test/test.js +++ b/packages/kit/test/apps/basics/test/test.js @@ -864,7 +864,7 @@ test.describe('Actions', () => { const log_promise = page.waitForEvent('console'); const button = page.locator(`#${id}`); await button.click(); - expect(await button.textContent()).toBe('processed'); // needed to make sure action completes + await page.waitForSelector(`button#${id}[data-processed="true"]`); const log = await log_promise; expect(log.text()).toBe( `\`${old_name}\` has been deprecated in favor of \`${new_name}\`. \`${old_name}\` will be removed in a future version. (Called from ${call_location})` From 08df73f9bf71633f489f8dfdac5c0c2f7bc98c8d Mon Sep 17 00:00:00 2001 From: gtmnayan <50981692+gtm-nayan@users.noreply.github.com> Date: Wed, 17 May 2023 06:49:56 +0545 Subject: [PATCH 2/6] reuse locator --- packages/kit/test/apps/basics/test/test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/kit/test/apps/basics/test/test.js b/packages/kit/test/apps/basics/test/test.js index c32071be6193..d1bd6a230aae 100644 --- a/packages/kit/test/apps/basics/test/test.js +++ b/packages/kit/test/apps/basics/test/test.js @@ -864,7 +864,7 @@ test.describe('Actions', () => { const log_promise = page.waitForEvent('console'); const button = page.locator(`#${id}`); await button.click(); - await page.waitForSelector(`button#${id}[data-processed="true"]`); + await expect(button).toHaveAttribute('data-processed', 'true') const log = await log_promise; expect(log.text()).toBe( `\`${old_name}\` has been deprecated in favor of \`${new_name}\`. \`${old_name}\` will be removed in a future version. (Called from ${call_location})` From eb597e32bc0866422e2229ad5e249dc79ec6ca9d Mon Sep 17 00:00:00 2001 From: gtmnayan <50981692+gtm-nayan@users.noreply.github.com> Date: Wed, 17 May 2023 07:00:43 +0545 Subject: [PATCH 3/6] add semi --- packages/kit/test/apps/basics/test/test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/kit/test/apps/basics/test/test.js b/packages/kit/test/apps/basics/test/test.js index d1bd6a230aae..9b7179fdb7ff 100644 --- a/packages/kit/test/apps/basics/test/test.js +++ b/packages/kit/test/apps/basics/test/test.js @@ -864,7 +864,7 @@ test.describe('Actions', () => { const log_promise = page.waitForEvent('console'); const button = page.locator(`#${id}`); await button.click(); - await expect(button).toHaveAttribute('data-processed', 'true') + await expect(button).toHaveAttribute('data-processed', 'true'); const log = await log_promise; expect(log.text()).toBe( `\`${old_name}\` has been deprecated in favor of \`${new_name}\`. \`${old_name}\` will be removed in a future version. (Called from ${call_location})` From 4121589fb5bb7dc1044260d3eabfa52bd05eafc1 Mon Sep 17 00:00:00 2001 From: gtmnayan Date: Wed, 17 May 2023 07:12:28 +0545 Subject: [PATCH 4/6] drive by test speed up --- packages/kit/test/apps/basics/test/test.js | 89 +++++++++++----------- 1 file changed, 46 insertions(+), 43 deletions(-) diff --git a/packages/kit/test/apps/basics/test/test.js b/packages/kit/test/apps/basics/test/test.js index 9b7179fdb7ff..95948ed6e467 100644 --- a/packages/kit/test/apps/basics/test/test.js +++ b/packages/kit/test/apps/basics/test/test.js @@ -828,50 +828,53 @@ test.describe('Matchers', () => { }); test.describe('Actions', () => { - for (const { id, old_name, new_name, call_location } of [ - { - id: 'access-form-in-submit', - old_name: 'form', - new_name: 'formElement', - call_location: 'use:enhance submit function' - }, - { - id: 'access-form-in-callback', - old_name: 'form', - new_name: 'formElement', - call_location: 'callback returned from use:enhance submit function' - }, - { - id: 'access-data-in-submit', - old_name: 'data', - new_name: 'formData', - call_location: 'use:enhance submit function' - }, - { - id: 'access-data-in-callback', - old_name: 'data', - new_name: 'formData', - call_location: 'callback returned from use:enhance submit function' + test.only(`Accessing v2 deprecated properties results in a warning log`, async ({ + page, + javaScriptEnabled + }) => { + await page.goto('/actions/enhance/old-property-access'); + test.skip(!javaScriptEnabled, 'skip when js is disabled'); + test.skip(!process.env.DEV, 'skip when not in dev mode'); + + for (const { id, old_name, new_name, call_location } of [ + { + id: 'access-form-in-submit', + old_name: 'form', + new_name: 'formElement', + call_location: 'use:enhance submit function' + }, + { + id: 'access-form-in-callback', + old_name: 'form', + new_name: 'formElement', + call_location: 'callback returned from use:enhance submit function' + }, + { + id: 'access-data-in-submit', + old_name: 'data', + new_name: 'formData', + call_location: 'use:enhance submit function' + }, + { + id: 'access-data-in-callback', + old_name: 'data', + new_name: 'formData', + call_location: 'callback returned from use:enhance submit function' + } + ]) { + await test.step(id, async () => { + const log_promise = page.waitForEvent('console'); + const button = page.locator(`#${id}`); + await button.click(); + await expect(button).toHaveAttribute('data-processed', 'true'); + const log = await log_promise; + expect(log.text()).toBe( + `\`${old_name}\` has been deprecated in favor of \`${new_name}\`. \`${old_name}\` will be removed in a future version. (Called from ${call_location})` + ); + expect(log.type()).toBe('warning'); + }); } - ]) { - test(`Accessing v2 deprecated properties results in a warning log, type: ${id}`, async ({ - page, - javaScriptEnabled - }) => { - test.skip(!javaScriptEnabled, 'skip when js is disabled'); - test.skip(!process.env.DEV, 'skip when not in dev mode'); - await page.goto('/actions/enhance/old-property-access'); - const log_promise = page.waitForEvent('console'); - const button = page.locator(`#${id}`); - await button.click(); - await expect(button).toHaveAttribute('data-processed', 'true'); - const log = await log_promise; - expect(log.text()).toBe( - `\`${old_name}\` has been deprecated in favor of \`${new_name}\`. \`${old_name}\` will be removed in a future version. (Called from ${call_location})` - ); - expect(log.type()).toBe('warning'); - }); - } + }); test('Error props are returned', async ({ page, javaScriptEnabled }) => { await page.goto('/actions/form-errors'); From fc964e90dea8ef2e8a2fa200dc0c73a91a02ac15 Mon Sep 17 00:00:00 2001 From: gtmnayan <50981692+gtm-nayan@users.noreply.github.com> Date: Wed, 17 May 2023 07:15:58 +0545 Subject: [PATCH 5/6] another classic --- packages/kit/test/apps/basics/test/test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/kit/test/apps/basics/test/test.js b/packages/kit/test/apps/basics/test/test.js index 95948ed6e467..9eea54aa6c61 100644 --- a/packages/kit/test/apps/basics/test/test.js +++ b/packages/kit/test/apps/basics/test/test.js @@ -828,7 +828,7 @@ test.describe('Matchers', () => { }); test.describe('Actions', () => { - test.only(`Accessing v2 deprecated properties results in a warning log`, async ({ + test(`Accessing v2 deprecated properties results in a warning log`, async ({ page, javaScriptEnabled }) => { From 05a91372bd0796070779910c3a9964ec4ea480a1 Mon Sep 17 00:00:00 2001 From: gtmnayan Date: Wed, 17 May 2023 07:22:58 +0545 Subject: [PATCH 6/6] oh my god brain, y u so bad --- packages/kit/test/apps/basics/test/test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/kit/test/apps/basics/test/test.js b/packages/kit/test/apps/basics/test/test.js index 9eea54aa6c61..dfe4c3e11683 100644 --- a/packages/kit/test/apps/basics/test/test.js +++ b/packages/kit/test/apps/basics/test/test.js @@ -832,9 +832,9 @@ test.describe('Actions', () => { page, javaScriptEnabled }) => { - await page.goto('/actions/enhance/old-property-access'); test.skip(!javaScriptEnabled, 'skip when js is disabled'); test.skip(!process.env.DEV, 'skip when not in dev mode'); + await page.goto('/actions/enhance/old-property-access'); for (const { id, old_name, new_name, call_location } of [ {