From 6bf0a5cb5034a7e684dcc3500e841785237ce2dd Mon Sep 17 00:00:00 2001
From: Daniel Baumann <daniel.baumann@progress-linux.org>
Date: Sun, 7 Apr 2024 19:32:43 +0200
Subject: Adding upstream version 1:115.7.0.

Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
---
 .../content-src/components/CustomiseMenu.test.jsx  | 72 ++++++++++++++++++++++
 1 file changed, 72 insertions(+)
 create mode 100644 browser/components/newtab/test/unit/content-src/components/CustomiseMenu.test.jsx

(limited to 'browser/components/newtab/test/unit/content-src/components/CustomiseMenu.test.jsx')

diff --git a/browser/components/newtab/test/unit/content-src/components/CustomiseMenu.test.jsx b/browser/components/newtab/test/unit/content-src/components/CustomiseMenu.test.jsx
new file mode 100644
index 0000000000..b4cf2b1261
--- /dev/null
+++ b/browser/components/newtab/test/unit/content-src/components/CustomiseMenu.test.jsx
@@ -0,0 +1,72 @@
+import { actionCreators as ac } from "common/Actions.sys.mjs";
+import { ContentSection } from "content-src/components/CustomizeMenu/ContentSection/ContentSection";
+import { mount } from "enzyme";
+import React from "react";
+
+const DEFAULT_PROPS = {
+  enabledSections: {
+    pocketEnabled: true,
+    topSitesEnabled: true,
+  },
+  mayHaveSponsoredTopSites: true,
+  mayHaveSponsoredStories: true,
+  pocketRegion: true,
+  dispatch: sinon.stub(),
+  setPref: sinon.stub(),
+};
+
+describe("ContentSection", () => {
+  let wrapper;
+  beforeEach(() => {
+    wrapper = mount(<ContentSection {...DEFAULT_PROPS} />);
+  });
+
+  it("should render the component", () => {
+    assert.ok(wrapper.exists());
+  });
+
+  it("should look for an eventSource attribute and dispatch an event for INPUT", () => {
+    wrapper.instance().onPreferenceSelect({
+      target: {
+        nodeName: "INPUT",
+        checked: true,
+        getAttribute: eventSource =>
+          eventSource === "eventSource" ? "foo" : null,
+      },
+    });
+
+    assert.calledWith(
+      DEFAULT_PROPS.dispatch,
+      ac.UserEvent({
+        event: "PREF_CHANGED",
+        source: "foo",
+        value: { status: true, menu_source: "CUSTOMIZE_MENU" },
+      })
+    );
+    wrapper.unmount();
+  });
+
+  it("should have eventSource attributes on relevent pref changing inputs", () => {
+    wrapper = mount(<ContentSection {...DEFAULT_PROPS} />);
+    assert.equal(
+      wrapper.find("#shortcuts-toggle").prop("eventSource"),
+      "TOP_SITES"
+    );
+    assert.equal(
+      wrapper.find("#sponsored-shortcuts").prop("eventSource"),
+      "SPONSORED_TOP_SITES"
+    );
+    assert.equal(
+      wrapper.find("#pocket-toggle").prop("eventSource"),
+      "TOP_STORIES"
+    );
+    assert.equal(
+      wrapper.find("#sponsored-pocket").prop("eventSource"),
+      "POCKET_SPOCS"
+    );
+    assert.equal(
+      wrapper.find("#highlights-toggle").prop("eventSource"),
+      "HIGHLIGHTS"
+    );
+  });
+});
-- 
cgit v1.2.3

