Bug 1794937 - Remove mr2022 test leaving open tabs r=barret

Differential Revision: https://phabricator.services.mozilla.com/D167163
This commit is contained in:
Emily McMinn 2023-01-23 20:16:48 +00:00
parent cbff171b16
commit 4bb731e53d

View file

@ -1,17 +1,8 @@
"use strict";
const { ExperimentAPI } = ChromeUtils.import(
"resource://nimbus/ExperimentAPI.jsm"
);
const { ExperimentFakes } = ChromeUtils.import(
"resource://testing-common/NimbusTestUtils.jsm"
);
const { AboutWelcomeParent } = ChromeUtils.import(
"resource:///actors/AboutWelcomeParent.jsm"
);
const { OnboardingMessageProvider } = ChromeUtils.import(
"resource://activity-stream/lib/OnboardingMessageProvider.jsm"
);
async function clickVisibleButton(browser, selector) {
// eslint-disable-next-line no-shadow
@ -268,97 +259,3 @@ add_task(async function test_aboutwelcome_show_firefox_view() {
closeFirefoxViewTab();
await cleanup();
});
add_task(async function test_mr2022_templateMR() {
const message = await OnboardingMessageProvider.getMessages().then(msgs =>
msgs.find(m => m.id === "FX_MR_106_UPGRADE")
);
const screensJSON = JSON.stringify(message.content.screens);
await setAboutWelcomeMultiStage(screensJSON); // NB: calls SpecialPowers.pushPrefEnv
async function runMajorReleaseTest(
{
onboarding = undefined,
templateMR = undefined,
fallbackPref = undefined,
},
expected
) {
info("Testing aboutwelcome layout with:");
info(` majorRelease2022.onboarding=${onboarding}`);
info(` aboutwelcome.templateMR=${templateMR}`);
info(` ${MR_TEMPLATE_PREF}=${fallbackPref}`);
let mr2022Cleanup = async () => {};
let aboutWelcomeCleanup = async () => {};
if (typeof onboarding !== "undefined") {
mr2022Cleanup = await ExperimentFakes.enrollWithFeatureConfig({
featureId: "majorRelease2022",
value: { onboarding },
});
}
if (typeof templateMR !== "undefined") {
aboutWelcomeCleanup = await ExperimentFakes.enrollWithFeatureConfig({
featureId: "aboutwelcome",
value: { templateMR },
});
}
if (typeof fallbackPref !== "undefined") {
await SpecialPowers.pushPrefEnv({
set: [[MR_TEMPLATE_PREF, fallbackPref]],
});
}
const tab = await BrowserTestUtils.openNewForegroundTab(
gBrowser,
"about:welcome",
true
);
const SELECTOR = `main.screen[pos="split"]`;
const args = expected
? ["split layout", [SELECTOR], []]
: ["non-split layout", [], [SELECTOR]];
try {
await test_screen_content(tab.linkedBrowser, ...args);
} finally {
BrowserTestUtils.removeTab(tab);
if (typeof fallbackPref !== "undefined") {
await SpecialPowers.popPrefEnv();
}
await mr2022Cleanup();
await aboutWelcomeCleanup();
}
}
await ExperimentAPI.ready();
await runMajorReleaseTest({ onboarding: true }, true);
await runMajorReleaseTest({ onboarding: true, templateMR: false }, true);
await runMajorReleaseTest({ onboarding: true, fallbackPref: false }, true);
await runMajorReleaseTest({ onboarding: false }, false);
await runMajorReleaseTest({ onboarding: false, templateMR: true }, false);
await runMajorReleaseTest({ onboarding: false, fallbackPref: true }, false);
await runMajorReleaseTest({ templateMR: true }, true);
await runMajorReleaseTest({ templateMR: true, fallbackPref: false }, true);
await runMajorReleaseTest({ fallbackPref: true }, true);
await runMajorReleaseTest({ templateMR: false }, false);
await runMajorReleaseTest({ templateMR: false, fallbackPref: true }, false);
await runMajorReleaseTest({ fallbackPref: false }, false);
// Check the default case with no experiments or prefs set.
await runMajorReleaseTest({}, true);
await SpecialPowers.popPrefEnv(); // for setAboutWelcomeMultiStage(screensJSON)
});