1
0
Fork 0
firefox/browser/components/asrouter/tests/xpcshell/test_remoteExperiments.js
Daniel Baumann 5e9a113729
Adding upstream version 140.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-25 09:37:52 +02:00

37 lines
1.2 KiB
JavaScript

/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
const { CFRMessageProvider } = ChromeUtils.importESModule(
"resource:///modules/asrouter/CFRMessageProvider.sys.mjs"
);
add_task(async function test_multiMessageTreatment() {
const { experimentValidator } = await makeValidators();
// Use the entire list of messages as if it was a single treatment branch's
// feature value.
let messages = await CFRMessageProvider.getMessages();
let featureValue = { template: "multi", messages };
assertValidates(
experimentValidator,
featureValue,
`Multi-message treatment validates as MessagingExperiment`
);
for (const message of messages) {
assertValidates(
experimentValidator,
message,
`Message ${message.id} validates as MessagingExperiment`
);
}
// Add an invalid message to the list and make sure it fails validation.
messages.push({
id: "INVALID_MESSAGE",
template: "cfr_doorhanger",
});
const result = experimentValidator.validate(featureValue);
Assert.ok(
!(result.valid && result.errors.length === 0),
"Multi-message treatment with invalid message fails validation"
);
});