Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

/* Any copyright is dedicated to the Public Domain.
"use strict";
let mockFxA, unmockFxA;
add_setup(async function () {
let { mock, unmock } = await mockDefaultFxAInstance();
mockFxA = mock;
unmockFxA = unmock;
});
add_task(async function test_VPN_promo_enabled() {
await clearPolicies();
await SpecialPowers.pushPrefEnv({
set: [
["browser.preferences.moreFromMozilla", true],
["browser.vpn_promo.enabled", true],
],
});
let { vpnPromoCard, mobileCard } = await getPromoCards();
ok(vpnPromoCard, "The VPN promo is visible");
ok(mobileCard, "The Mobile promo is visible");
BrowserTestUtils.removeTab(gBrowser.selectedTab);
});
add_task(async function test_VPN_promo_disabled() {
await clearPolicies();
await SpecialPowers.pushPrefEnv({
set: [["browser.vpn_promo.enabled", false]],
});
let { vpnPromoCard, mobileCard } = await getPromoCards();
ok(!vpnPromoCard, "The VPN promo is not visible");
ok(mobileCard, "The Mobile promo is visible");
Services.prefs.clearUserPref("browser.vpn_promo.enabled");
BrowserTestUtils.removeTab(gBrowser.selectedTab);
});
add_task(async function test_VPN_promo_in_disallowed_home_region() {
await clearPolicies();
const disallowedRegion = "SY";
setupRegions(disallowedRegion);
await SpecialPowers.pushPrefEnv({
set: [["browser.vpn_promo.enabled", true]],
});
let { vpnPromoCard, mobileCard } = await getPromoCards();
ok(!vpnPromoCard, "The VPN promo is not visible");
ok(mobileCard, "The Mobile promo is visible");
setupRegions(initialHomeRegion, initialCurrentRegion);
BrowserTestUtils.removeTab(gBrowser.selectedTab);
});
add_task(async function test_VPN_promo_in_illegal_home_region() {
await clearPolicies();
const illegalRegion = "CN";
setupRegions(illegalRegion);
await SpecialPowers.pushPrefEnv({
set: [["browser.vpn_promo.disallowedRegions", "SY, CU"]],
});
let { vpnPromoCard, mobileCard } = await getPromoCards();
ok(!vpnPromoCard, "The VPN promo is not visible");
ok(mobileCard, "The Mobile promo is visible");
setupRegions(initialHomeRegion, initialCurrentRegion);
BrowserTestUtils.removeTab(gBrowser.selectedTab);
});
add_task(async function test_VPN_promo_in_disallowed_current_region() {
await clearPolicies();
const allowedRegion = "US";
const disallowedRegion = "SY";
setupRegions(allowedRegion, disallowedRegion);
await SpecialPowers.pushPrefEnv({
set: [["browser.vpn_promo.enabled", true]],
});
let { vpnPromoCard, mobileCard } = await getPromoCards();
ok(!vpnPromoCard, "The VPN promo is not visible");
ok(mobileCard, "The Mobile promo is visible");
setupRegions(initialHomeRegion, initialCurrentRegion);
BrowserTestUtils.removeTab(gBrowser.selectedTab);
});
add_task(async function test_VPN_promo_in_illegal_current_region() {
await clearPolicies();
const allowedRegion = "US";
const illegalRegion = "CN";
setupRegions(allowedRegion, illegalRegion);
await SpecialPowers.pushPrefEnv({
set: [["browser.vpn_promo.disallowedRegions", "SY, CU"]],
});
let { vpnPromoCard, mobileCard } = await getPromoCards();
ok(!vpnPromoCard, "The VPN promo is not visible");
ok(mobileCard, "The Mobile promo is visible");
setupRegions(initialHomeRegion, initialCurrentRegion);
BrowserTestUtils.removeTab(gBrowser.selectedTab);
});
add_task(
async function test_VPN_promo_in_unsupported_current_region_with_supported_home_region() {
await clearPolicies();
const supportedRegion = "US";
const unsupportedRegion = "LY";
setupRegions(supportedRegion, unsupportedRegion);
let { vpnPromoCard, mobileCard } = await getPromoCards();
ok(vpnPromoCard, "The VPN promo is visible");
ok(mobileCard, "The Mobile promo is visible");
setupRegions(initialHomeRegion, initialCurrentRegion);
BrowserTestUtils.removeTab(gBrowser.selectedTab);
}
);
add_task(
async function test_VPN_promo_in_supported_current_region_with_unsupported_home_region() {
await clearPolicies();
const supportedRegion = "US";
const unsupportedRegion = "LY";
setupRegions(unsupportedRegion, supportedRegion);
let { vpnPromoCard, mobileCard } = await getPromoCards();
ok(vpnPromoCard, "The VPN promo is visible");
ok(mobileCard, "The Mobile promo is visible");
setupRegions(initialHomeRegion, initialCurrentRegion);
BrowserTestUtils.removeTab(gBrowser.selectedTab);
}
);
add_task(async function test_VPN_promo_with_active_enterprise_policy() {
await EnterprisePolicyTesting.setupPolicyEngineWithJson({
policies: {
EnableTrackingProtection: {
Value: true,
},
},
});
let { vpnPromoCard, mobileCard } = await getPromoCards();
ok(!vpnPromoCard, "The VPN promo is not visible");
ok(mobileCard, "The Mobile promo is visible");
setupRegions(initialHomeRegion, initialCurrentRegion);
await clearPolicies();
BrowserTestUtils.removeTab(gBrowser.selectedTab);
});