summaryrefslogtreecommitdiffstats
path: root/browser/components/enterprisepolicies/tests/browser/browser_policy_disable_shield.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/components/enterprisepolicies/tests/browser/browser_policy_disable_shield.js')
-rw-r--r--browser/components/enterprisepolicies/tests/browser/browser_policy_disable_shield.js68
1 files changed, 68 insertions, 0 deletions
diff --git a/browser/components/enterprisepolicies/tests/browser/browser_policy_disable_shield.js b/browser/components/enterprisepolicies/tests/browser/browser_policy_disable_shield.js
new file mode 100644
index 0000000000..ef36a0d36c
--- /dev/null
+++ b/browser/components/enterprisepolicies/tests/browser/browser_policy_disable_shield.js
@@ -0,0 +1,68 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+add_task(async function test_policy_disable_shield() {
+ const { RecipeRunner } = ChromeUtils.importESModule(
+ "resource://normandy/lib/RecipeRunner.sys.mjs"
+ );
+ const { BaseAction } = ChromeUtils.importESModule(
+ "resource://normandy/actions/BaseAction.sys.mjs"
+ );
+ const { BaseStudyAction } = ChromeUtils.importESModule(
+ "resource://normandy/actions/BaseStudyAction.sys.mjs"
+ );
+
+ const baseAction = new BaseAction();
+ const baseStudyAction = new BaseStudyAction();
+
+ await SpecialPowers.pushPrefEnv({
+ set: [
+ ["app.normandy.api_url", "https://localhost/selfsupport-dummy/"],
+ ["app.shield.optoutstudies.enabled", true],
+ ],
+ });
+
+ ok(RecipeRunner, "RecipeRunner exists");
+
+ RecipeRunner.checkPrefs();
+ ok(RecipeRunner.enabled, "RecipeRunner is enabled");
+
+ baseAction._preExecution();
+ is(
+ baseAction.state,
+ BaseAction.STATE_PREPARING,
+ "Base action is not disabled"
+ );
+
+ baseStudyAction._preExecution();
+ is(
+ baseStudyAction.state,
+ BaseAction.STATE_PREPARING,
+ "Base study action is not disabled"
+ );
+
+ await setupPolicyEngineWithJson({
+ policies: {
+ DisableFirefoxStudies: true,
+ },
+ });
+
+ RecipeRunner.checkPrefs();
+ ok(RecipeRunner.enabled, "RecipeRunner is still enabled");
+
+ baseAction._preExecution();
+ is(
+ baseAction.state,
+ BaseAction.STATE_PREPARING,
+ "Base action is not disabled"
+ );
+
+ baseStudyAction._preExecution();
+ is(
+ baseStudyAction.state,
+ BaseAction.STATE_DISABLED,
+ "Base study action is disabled"
+ );
+});