From 62ab5073ac462b28a111319b9cc65f01747de100 Mon Sep 17 00:00:00 2001 From: Simon Backx Date: Tue, 31 Jan 2023 11:25:46 +0100 Subject: [PATCH] Fixed Playwright test not awaiting Stripe setup no issue The test closed the setup modal to fast, which caused the @task to be cancelled and the save would not complete (portalPlans not saved). --- .../components/settings/members/stripe-settings-form.hbs | 2 +- ghost/core/test/e2e-browser/admin/portal-settings.spec.js | 6 ++---- ghost/core/test/e2e-browser/utils/e2e-browser-utils.js | 4 +++- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/ghost/admin/app/components/settings/members/stripe-settings-form.hbs b/ghost/admin/app/components/settings/members/stripe-settings-form.hbs index 26002f33f4..31bb3ec5ca 100644 --- a/ghost/admin/app/components/settings/members/stripe-settings-form.hbs +++ b/ghost/admin/app/components/settings/members/stripe-settings-form.hbs @@ -56,7 +56,7 @@ {{else}} {{#if (and this.stripeConnectAccountId (not this.saveStripeSettingsTask.isRunning))}} - +
diff --git a/ghost/core/test/e2e-browser/admin/portal-settings.spec.js b/ghost/core/test/e2e-browser/admin/portal-settings.spec.js index 883365c4ac..cbadb1345d 100644 --- a/ghost/core/test/e2e-browser/admin/portal-settings.spec.js +++ b/ghost/core/test/e2e-browser/admin/portal-settings.spec.js @@ -91,8 +91,7 @@ test.describe('Portal Settings', () => { await page.goto(portalUrl); // expect stripe checkout to have opeened - await page.waitForNavigation(); - await expect(page).toHaveURL(/^https:\/\/checkout.stripe.com/); + await page.waitForURL(/^https:\/\/checkout.stripe.com/); }); test('can open portal directly on yearly signup', async ({page}) => { @@ -112,8 +111,7 @@ test.describe('Portal Settings', () => { await page.goto(portalUrl); // expect stripe checkout to have opeened - await page.waitForNavigation(); - await expect(page).toHaveURL(/^https:\/\/checkout.stripe.com/); + await page.waitForURL(/^https:\/\/checkout.stripe.com/); }); }); }); diff --git a/ghost/core/test/e2e-browser/utils/e2e-browser-utils.js b/ghost/core/test/e2e-browser/utils/e2e-browser-utils.js index bbcebff54c..0161e7f66b 100644 --- a/ghost/core/test/e2e-browser/utils/e2e-browser-utils.js +++ b/ghost/core/test/e2e-browser/utils/e2e-browser-utils.js @@ -1,5 +1,5 @@ const DataGenerator = require('../../utils/fixtures/data-generator'); -const {test} = require('@playwright/test'); +const {expect, test} = require('@playwright/test'); const ObjectID = require('bson-objectid').default; const {promisify} = require('util'); const {exec} = require('child_process'); @@ -107,6 +107,8 @@ const setupStripe = async (page, stripConnectIntegrationToken) => { } await page.getByPlaceholder('Paste your secure key here').first().fill(stripConnectIntegrationToken); await page.getByRole('button', {name: 'Save Stripe settings'}).click(); + // We need to wait for the saving to succeed + await expect(page.locator('[data-test-button="stripe-disconnect"]')).toBeVisible(); await page.locator('[data-test-button="close-stripe-connect"]').click(); };