Bug 1717871 - Add targeting attribute to detect any active policies r=k88hudson

Differential Revision: https://phabricator.services.mozilla.com/D118611
This commit is contained in:
Andrei Oprea 2021-06-25 08:12:58 +00:00
parent cb9c214eea
commit 9d1ed273fe
2 changed files with 40 additions and 0 deletions

View File

@ -630,6 +630,10 @@ const TargetingGetters = {
get isMajorUpgrade() {
return BrowserHandler.majorUpgrade;
},
get hasActiveEnterprisePolicies() {
return Services.policies.status === Services.policies.ACTIVE;
},
};
this.ASRouterTargeting = {

View File

@ -13,6 +13,9 @@ const { ASRouterTargeting } = ChromeUtils.import(
const { MacAttribution } = ChromeUtils.import(
"resource:///modules/MacAttribution.jsm"
);
const { EnterprisePolicyTesting } = ChromeUtils.import(
"resource://testing-common/EnterprisePolicyTesting.jsm"
);
add_task(async function check_attribution_data() {
// Some setup to fake the correct attribution data
@ -62,3 +65,36 @@ add_task(async function check_attribution_data() {
);
AttributionCode._clearCache();
});
add_task(async function check_enterprise_targeting() {
const messages = [
{
id: "foo1",
targeting: "hasActiveEnterprisePolicies",
},
{
id: "foo2",
targeting: "!hasActiveEnterprisePolicies",
},
];
equal(
await ASRouterTargeting.findMatchingMessage({ messages }),
messages[1],
"should select the message for policies turned off"
);
await EnterprisePolicyTesting.setupPolicyEngineWithJson({
policies: {
DisableFirefoxStudies: {
Value: true,
},
},
});
equal(
await ASRouterTargeting.findMatchingMessage({ messages }),
messages[0],
"should select the message for policies turned on"
);
});