summaryrefslogtreecommitdiffstats
path: root/browser/components/newtab/test/unit
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-12 05:43:14 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-12 05:43:14 +0000
commit8dd16259287f58f9273002717ec4d27e97127719 (patch)
tree3863e62a53829a84037444beab3abd4ed9dfc7d0 /browser/components/newtab/test/unit
parentReleasing progress-linux version 126.0.1-1~progress7.99u1. (diff)
downloadfirefox-8dd16259287f58f9273002717ec4d27e97127719.tar.xz
firefox-8dd16259287f58f9273002717ec4d27e97127719.zip
Merging upstream version 127.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'browser/components/newtab/test/unit')
-rw-r--r--browser/components/newtab/test/unit/content-src/components/CustomiseMenu.test.jsx5
-rw-r--r--browser/components/newtab/test/unit/content-src/components/DiscoveryStreamAdmin.test.jsx10
-rw-r--r--browser/components/newtab/test/unit/content-src/components/DiscoveryStreamComponents/DSCard.test.jsx4
-rw-r--r--browser/components/newtab/test/unit/lib/AboutPreferences.test.js15
-rw-r--r--browser/components/newtab/test/unit/lib/ActivityStream.test.js32
-rw-r--r--browser/components/newtab/test/unit/lib/ActivityStreamStorage.test.js9
-rw-r--r--browser/components/newtab/test/unit/lib/DiscoveryStreamFeed.test.js16
-rw-r--r--browser/components/newtab/test/unit/lib/DownloadsManager.test.js4
8 files changed, 88 insertions, 7 deletions
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
index 0407622cf9..6186ca71fe 100644
--- a/browser/components/newtab/test/unit/content-src/components/CustomiseMenu.test.jsx
+++ b/browser/components/newtab/test/unit/content-src/components/CustomiseMenu.test.jsx
@@ -10,6 +10,7 @@ const DEFAULT_PROPS = {
},
mayHaveSponsoredTopSites: true,
mayHaveSponsoredStories: true,
+ mayHaveWeather: true,
pocketRegion: true,
dispatch: sinon.stub(),
setPref: sinon.stub(),
@@ -68,5 +69,9 @@ describe("ContentSection", () => {
wrapper.find("#highlights-toggle").prop("data-eventSource"),
"HIGHLIGHTS"
);
+ assert.equal(
+ wrapper.find("#weather-toggle").prop("data-eventSource"),
+ "WEATHER"
+ );
});
});
diff --git a/browser/components/newtab/test/unit/content-src/components/DiscoveryStreamAdmin.test.jsx b/browser/components/newtab/test/unit/content-src/components/DiscoveryStreamAdmin.test.jsx
index 7f40b66200..006e83e663 100644
--- a/browser/components/newtab/test/unit/content-src/components/DiscoveryStreamAdmin.test.jsx
+++ b/browser/components/newtab/test/unit/content-src/components/DiscoveryStreamAdmin.test.jsx
@@ -67,6 +67,9 @@ describe("DiscoveryStreamAdmin", () => {
otherPrefs={{}}
state={{
DiscoveryStream: state,
+ Weather: {
+ suggestions: [],
+ },
}}
/>
);
@@ -90,7 +93,12 @@ describe("DiscoveryStreamAdmin", () => {
wrapper = shallow(
<DiscoveryStreamAdminUI
otherPrefs={{}}
- state={{ DiscoveryStream: state }}
+ state={{
+ DiscoveryStream: state,
+ Weather: {
+ suggestions: [],
+ },
+ }}
/>
);
wrapper.instance().onStoryToggle({ id: 12345 });
diff --git a/browser/components/newtab/test/unit/content-src/components/DiscoveryStreamComponents/DSCard.test.jsx b/browser/components/newtab/test/unit/content-src/components/DiscoveryStreamComponents/DSCard.test.jsx
index afb6d6dcd2..796f805444 100644
--- a/browser/components/newtab/test/unit/content-src/components/DiscoveryStreamComponents/DSCard.test.jsx
+++ b/browser/components/newtab/test/unit/content-src/components/DiscoveryStreamComponents/DSCard.test.jsx
@@ -70,7 +70,9 @@ describe("<DSCard>", () => {
});
it("should render DSLinkMenu", () => {
- assert.equal(wrapper.children().at(3).type(), DSLinkMenu);
+ // Note: <DSLinkMenu> component moved from a direct child element of `.ds-card`. See Bug 1893936
+ const default_link_menu = wrapper.find(DSLinkMenu);
+ assert.ok(default_link_menu.exists());
});
it("should start with no .active class", () => {
diff --git a/browser/components/newtab/test/unit/lib/AboutPreferences.test.js b/browser/components/newtab/test/unit/lib/AboutPreferences.test.js
index a19bf698d9..6555a1b77e 100644
--- a/browser/components/newtab/test/unit/lib/AboutPreferences.test.js
+++ b/browser/components/newtab/test/unit/lib/AboutPreferences.test.js
@@ -54,17 +54,21 @@ describe("AboutPreferences Feed", () => {
instance.onAction(action);
assert.calledOnce(action._target.browser.ownerGlobal.openPreferences);
});
- it("should call .BrowserOpenAddonsMgr with the extension id on OPEN_WEBEXT_SETTINGS", () => {
+ it("should call .BrowserAddonUI.openAddonsMgr with the extension id on OPEN_WEBEXT_SETTINGS", () => {
const action = {
type: at.OPEN_WEBEXT_SETTINGS,
data: "foo",
_target: {
- browser: { ownerGlobal: { BrowserOpenAddonsMgr: sinon.spy() } },
+ browser: {
+ ownerGlobal: {
+ BrowserAddonUI: { openAddonsMgr: sinon.spy() },
+ },
+ },
},
};
instance.onAction(action);
assert.calledWith(
- action._target.browser.ownerGlobal.BrowserOpenAddonsMgr,
+ action._target.browser.ownerGlobal.BrowserAddonUI.openAddonsMgr,
"addons://detail/foo"
);
});
@@ -122,8 +126,9 @@ describe("AboutPreferences Feed", () => {
const [, structure] = stub.firstCall.args;
assert.equal(structure[0].id, "search");
assert.equal(structure[1].id, "topsites");
- assert.equal(structure[2].id, "topstories");
- assert.isEmpty(structure[2].rowsPref);
+ assert.equal(structure[2].id, "weather");
+ assert.equal(structure[3].id, "topstories");
+ assert.isEmpty(structure[3].rowsPref);
});
});
describe("#renderPreferences", () => {
diff --git a/browser/components/newtab/test/unit/lib/ActivityStream.test.js b/browser/components/newtab/test/unit/lib/ActivityStream.test.js
index 7921ae2c91..ed00eb8202 100644
--- a/browser/components/newtab/test/unit/lib/ActivityStream.test.js
+++ b/browser/components/newtab/test/unit/lib/ActivityStream.test.js
@@ -311,6 +311,38 @@ describe("ActivityStream", () => {
);
});
});
+ describe("discoverystream.region-weather-config", () => {
+ let getVariableStub;
+ beforeEach(() => {
+ getVariableStub = sandbox.stub(
+ global.NimbusFeatures.pocketNewtab,
+ "getVariable"
+ );
+ sandbox.stub(global.Region, "home").get(() => "CA");
+ });
+ it("should turn off weather system pref if no region weather config is set and no geo is set", () => {
+ getVariableStub.withArgs("regionWeatherConfig").returns("");
+ sandbox.stub(global.Region, "home").get(() => "");
+
+ as._updateDynamicPrefs();
+
+ assert.isFalse(PREFS_CONFIG.get("system.showWeather").value);
+ });
+ it("should turn on weather system pref based on region weather config pref", () => {
+ getVariableStub.withArgs("regionWeatherConfig").returns("CA");
+
+ as._updateDynamicPrefs();
+
+ assert.isTrue(PREFS_CONFIG.get("system.showWeather").value);
+ });
+ it("should turn off weather system pref if no region weather config is set", () => {
+ getVariableStub.withArgs("regionWeatherConfig").returns("");
+
+ as._updateDynamicPrefs();
+
+ assert.isFalse(PREFS_CONFIG.get("system.showWeather").value);
+ });
+ });
describe("_updateDynamicPrefs topstories default value", () => {
let getVariableStub;
let getBoolPrefStub;
diff --git a/browser/components/newtab/test/unit/lib/ActivityStreamStorage.test.js b/browser/components/newtab/test/unit/lib/ActivityStreamStorage.test.js
index 0b8baef762..fd56a3e185 100644
--- a/browser/components/newtab/test/unit/lib/ActivityStreamStorage.test.js
+++ b/browser/components/newtab/test/unit/lib/ActivityStreamStorage.test.js
@@ -47,6 +47,7 @@ describe("ActivityStreamStorage", () => {
beforeEach(() => {
storeStub = {
getAll: sandbox.stub().resolves(),
+ getAllKeys: sandbox.stub().resolves(),
get: sandbox.stub().resolves(),
put: sandbox.stub().resolves(),
};
@@ -75,6 +76,14 @@ describe("ActivityStreamStorage", () => {
assert.calledOnce(storeStub.getAll);
assert.deepEqual(result, ["bar"]);
});
+ it("should return the correct value for getAllKeys", async () => {
+ storeStub.getAllKeys.resolves(["key1", "key2", "key3"]);
+
+ const result = await testStorage.getAllKeys();
+
+ assert.calledOnce(storeStub.getAllKeys);
+ assert.deepEqual(result, ["key1", "key2", "key3"]);
+ });
it("should query the correct object store", async () => {
await testStorage.get();
diff --git a/browser/components/newtab/test/unit/lib/DiscoveryStreamFeed.test.js b/browser/components/newtab/test/unit/lib/DiscoveryStreamFeed.test.js
index e10a4cbc04..72fc6bd0b8 100644
--- a/browser/components/newtab/test/unit/lib/DiscoveryStreamFeed.test.js
+++ b/browser/components/newtab/test/unit/lib/DiscoveryStreamFeed.test.js
@@ -3467,6 +3467,22 @@ describe("DiscoveryStreamFeed", () => {
"https://bffApi/desktop/v1/recommendations?locale=$locale&region=$region&count=30"
);
});
+ it("should update the new feed url with pocketFeedParameters", async () => {
+ globals.set("NimbusFeatures", {
+ pocketNewtab: {
+ getVariable: sandbox.stub(),
+ },
+ });
+ global.NimbusFeatures.pocketNewtab.getVariable
+ .withArgs("pocketFeedParameters")
+ .returns("&enableRankingByRegion=1");
+ await feed.loadLayout(feed.store.dispatch);
+ const { layout } = feed.store.getState().DiscoveryStream;
+ assert.equal(
+ layout[0].components[2].feed.url,
+ "https://bffApi/desktop/v1/recommendations?locale=$locale&region=$region&count=30&enableRankingByRegion=1"
+ );
+ });
it("should fetch proper data from getComponentFeed", async () => {
const fakeCache = {};
sandbox.stub(feed.cache, "get").returns(Promise.resolve(fakeCache));
diff --git a/browser/components/newtab/test/unit/lib/DownloadsManager.test.js b/browser/components/newtab/test/unit/lib/DownloadsManager.test.js
index 5e2979893d..23ee9ffa34 100644
--- a/browser/components/newtab/test/unit/lib/DownloadsManager.test.js
+++ b/browser/components/newtab/test/unit/lib/DownloadsManager.test.js
@@ -29,6 +29,10 @@ describe("Downloads Manager", () => {
showDownloadedFile: sinon.stub(),
});
+ globals.set("BrowserUtils", {
+ whereToOpenLink: sinon.stub().returns("current"),
+ });
+
downloadsManager = new DownloadsManager();
downloadsManager.init({ dispatch() {} });
downloadsManager.onDownloadAdded({