summaryrefslogtreecommitdiffstats
path: root/toolkit/components/messaging-system/schemas/SpecialMessageActionSchemas/test/browser/browser_sma_cfrmessageprovider.js
blob: d89039c007de5ebee455f2cefbdd287c6015c606 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/* Any copyright is dedicated to the Public Domain.
   http://creativecommons.org/publicdomain/zero/1.0/ */

"use strict";

const { CFRMessageProvider } = ChromeUtils.importESModule(
  "resource://activity-stream/lib/CFRMessageProvider.sys.mjs"
);

add_task(async function test_all_test_messages() {
  let messagesWithButtons = (await CFRMessageProvider.getMessages()).filter(
    m => m.content.buttons
  );

  for (let message of messagesWithButtons) {
    info(`Testing ${message.id}`);
    if (message.template === "infobar") {
      for (let button of message.content.buttons) {
        await SMATestUtils.validateAction(button.action);
      }
    } else {
      let { primary, secondary } = message.content.buttons;
      await SMATestUtils.validateAction(primary.action);
      for (let secondaryBtn of secondary) {
        if (secondaryBtn.action) {
          await SMATestUtils.validateAction(secondaryBtn.action);
        }
      }
    }
  }
});