diff --git a/assets/javascripts/discourse/initializers/custom-wizard-redirect.js.es6 b/assets/javascripts/discourse/initializers/custom-wizard-redirect.js.es6 index 70676bb0..c02f0f3d 100644 --- a/assets/javascripts/discourse/initializers/custom-wizard-redirect.js.es6 +++ b/assets/javascripts/discourse/initializers/custom-wizard-redirect.js.es6 @@ -30,6 +30,7 @@ export default { .concat(["loading"]); if ( redirectToWizard && + !data.url.includes("ignore_redirect") && data.currentRouteName !== "customWizardStep" && !excludedPaths.find((p) => { return data.currentRouteName.indexOf(p) > -1; diff --git a/test/javascripts/acceptance/wizard-test.js b/test/javascripts/acceptance/wizard-test.js index dd441649..0527cf0f 100644 --- a/test/javascripts/acceptance/wizard-test.js +++ b/test/javascripts/acceptance/wizard-test.js @@ -74,6 +74,15 @@ acceptance("Wizard | Redirect", function (needs) { "pending wizard routing works" ); }); + + test("Don't redirect to pending Wizard when ingore redirect param is supplied", async function (assert) { + sinon.stub(DiscourseURL, "routeTo"); + await visit("/latest?ignore_redirect=1"); + assert.notOk( + DiscourseURL.routeTo.calledWith("/w/wizard"), + "pending wizard routing blocked" + ); + }); }); acceptance("Wizard | Wizard", function (needs) {