From 26a029d407be480d791972afb5975cf62c9360a6 Mon Sep 17 00:00:00 2001
From: Daniel Baumann <daniel.baumann@progress-linux.org>
Date: Fri, 19 Apr 2024 02:47:55 +0200
Subject: Adding upstream version 124.0.1.

Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
---
 .../tests/unit/MobileDownloads.test.jsx            | 69 ++++++++++++++++++++++
 1 file changed, 69 insertions(+)
 create mode 100644 browser/components/aboutwelcome/tests/unit/MobileDownloads.test.jsx

(limited to 'browser/components/aboutwelcome/tests/unit/MobileDownloads.test.jsx')

diff --git a/browser/components/aboutwelcome/tests/unit/MobileDownloads.test.jsx b/browser/components/aboutwelcome/tests/unit/MobileDownloads.test.jsx
new file mode 100644
index 0000000000..143c7d2f8d
--- /dev/null
+++ b/browser/components/aboutwelcome/tests/unit/MobileDownloads.test.jsx
@@ -0,0 +1,69 @@
+import React from "react";
+import { shallow, mount } from "enzyme";
+import { GlobalOverrider } from "newtab/test/unit/utils";
+import { MobileDownloads } from "content-src/components/MobileDownloads";
+
+describe("Multistage AboutWelcome MobileDownloads module", () => {
+  let globals;
+  let sandbox;
+
+  beforeEach(async () => {
+    globals = new GlobalOverrider();
+    globals.set({
+      AWFinish: () => Promise.resolve(),
+      AWSendToDeviceEmailsSupported: () => Promise.resolve(),
+    });
+    sandbox = sinon.createSandbox();
+  });
+
+  afterEach(() => {
+    sandbox.restore();
+    globals.restore();
+  });
+
+  describe("Mobile Downloads component", () => {
+    const MOBILE_DOWNLOADS_PROPS = {
+      data: {
+        QR_code: {
+          image_url:
+            "chrome://browser/components/privatebrowsing/content/assets/focus-qr-code.svg",
+          alt_text: {
+            string_id: "spotlight-focus-promo-qr-code",
+          },
+        },
+        email: {
+          link_text: "Email yourself a link",
+        },
+        marketplace_buttons: ["ios", "android"],
+      },
+      handleAction: () => {
+        window.AWFinish();
+      },
+    };
+
+    it("should render MobileDownloads", () => {
+      const wrapper = shallow(<MobileDownloads {...MOBILE_DOWNLOADS_PROPS} />);
+
+      assert.ok(wrapper.exists());
+    });
+
+    it("should handle action on markeplace badge click", () => {
+      const wrapper = mount(<MobileDownloads {...MOBILE_DOWNLOADS_PROPS} />);
+
+      const stub = sandbox.stub(global, "AWFinish");
+      wrapper.find(".ios button").simulate("click");
+      wrapper.find(".android button").simulate("click");
+
+      assert.calledTwice(stub);
+    });
+
+    it("should handle action on email button click", () => {
+      const wrapper = shallow(<MobileDownloads {...MOBILE_DOWNLOADS_PROPS} />);
+
+      const stub = sandbox.stub(global, "AWFinish");
+      wrapper.find("button.email-link").simulate("click");
+
+      assert.calledOnce(stub);
+    });
+  });
+});
-- 
cgit v1.2.3

