summaryrefslogtreecommitdiffstats
path: root/toolkit/components/passwordmgr/test/browser/browser_entry_point_telemetry.js
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
commit26a029d407be480d791972afb5975cf62c9360a6 (patch)
treef435a8308119effd964b339f76abb83a57c29483 /toolkit/components/passwordmgr/test/browser/browser_entry_point_telemetry.js
parentInitial commit. (diff)
downloadfirefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz
firefox-26a029d407be480d791972afb5975cf62c9360a6.zip
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'toolkit/components/passwordmgr/test/browser/browser_entry_point_telemetry.js')
-rw-r--r--toolkit/components/passwordmgr/test/browser/browser_entry_point_telemetry.js103
1 files changed, 103 insertions, 0 deletions
diff --git a/toolkit/components/passwordmgr/test/browser/browser_entry_point_telemetry.js b/toolkit/components/passwordmgr/test/browser/browser_entry_point_telemetry.js
new file mode 100644
index 0000000000..e400dc4637
--- /dev/null
+++ b/toolkit/components/passwordmgr/test/browser/browser_entry_point_telemetry.js
@@ -0,0 +1,103 @@
+const TEST_ORIGIN = "https://example.com";
+
+add_setup(async function () {
+ await SpecialPowers.pushPrefEnv({
+ set: [["signon.rememberSignons.visibilityToggle", true]],
+ });
+ Services.telemetry.clearEvents();
+});
+
+add_task(async function mainMenu_entryPoint() {
+ await SimpleTest.promiseFocus();
+ info("mainMenu_entryPoint, got focus");
+
+ let mainMenu = document.getElementById("appMenu-popup");
+ let target = document.getElementById("PanelUI-menu-button");
+ await TestUtils.waitForCondition(
+ () => BrowserTestUtils.isVisible(target),
+ "Main menu button should be visible."
+ );
+ info("mainMenu_entryPoint, Main menu button is visible");
+ Assert.equal(
+ mainMenu.state,
+ "closed",
+ `Menu panel (${mainMenu.id}) is initally closed.`
+ );
+
+ info("mainMenu_entryPoint, clicking target and waiting for popup");
+ let popupshown = BrowserTestUtils.waitForEvent(mainMenu, "popupshown");
+ EventUtils.synthesizeMouseAtCenter(target, {});
+ await popupshown;
+
+ info("mainMenu_entryPoint, main menu popup is shown");
+ Assert.equal(mainMenu.state, "open", `Menu panel (${mainMenu.id}) is open.`);
+
+ let loginsButtonID = "appMenu-passwords-button";
+
+ let item = document.getElementById(loginsButtonID);
+ await TestUtils.waitForCondition(
+ () => BrowserTestUtils.isVisible(item),
+ "Logins and passwords button is visible."
+ );
+
+ info("mainMenu_entryPoint, clicking on Logins and passwords button");
+ let openingFunc = () => EventUtils.synthesizeMouseAtCenter(item, {});
+ let passwordManager = await openPasswordManager(openingFunc);
+ info("mainMenu_entryPoint, password manager dialog shown");
+
+ await LoginTestUtils.telemetry.waitForEventCount(1);
+ TelemetryTestUtils.assertEvents(
+ [["pwmgr", "open_management", "mainmenu"]],
+ {
+ category: "pwmgr",
+ method: "open_management",
+ },
+ { clear: true, process: "content" }
+ );
+
+ info("mainMenu_entryPoint, close dialog and main menu");
+ await passwordManager.close();
+ mainMenu.hidePopup();
+});
+
+add_task(async function pageInfo_entryPoint() {
+ await BrowserTestUtils.withNewTab(
+ {
+ gBrowser,
+ url: TEST_ORIGIN,
+ },
+ async function (browser) {
+ info("pageInfo_entryPoint, opening pageinfo");
+ let pageInfo = BrowserPageInfo(TEST_ORIGIN, "securityTab", {});
+ await BrowserTestUtils.waitForEvent(pageInfo, "page-info-init");
+ info(
+ "pageInfo_entryPoint, got pageinfo, wait until password button is visible"
+ );
+ let passwordsButton = pageInfo.document.getElementById(
+ "security-view-password"
+ );
+
+ await TestUtils.waitForCondition(
+ () => BrowserTestUtils.isVisible(passwordsButton),
+ "Show passwords button should be visible."
+ );
+ info("pageInfo_entryPoint, clicking the show passwords button...");
+ await SimpleTest.promiseFocus(pageInfo);
+ let openingFunc = () =>
+ EventUtils.synthesizeMouseAtCenter(passwordsButton, {}, pageInfo);
+
+ info("pageInfo_entryPoint, waiting for the passwords manager dialog");
+ let passwordManager = await openPasswordManager(openingFunc);
+
+ TelemetryTestUtils.assertEvents(
+ [["pwmgr", "open_management", "pageinfo"]],
+ { category: "pwmgr", method: "open_management" },
+ { clear: true, process: "content" }
+ );
+
+ info("pageInfo_entryPoint, close dialog and pageInfo");
+ await passwordManager.close();
+ pageInfo.close();
+ }
+ );
+});