summaryrefslogtreecommitdiffstats
path: root/browser/components/urlbar/tests/engagementTelemetry/browser/browser_glean_telemetry_engagement_groups.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/components/urlbar/tests/engagementTelemetry/browser/browser_glean_telemetry_engagement_groups.js')
-rw-r--r--browser/components/urlbar/tests/engagementTelemetry/browser/browser_glean_telemetry_engagement_groups.js259
1 files changed, 259 insertions, 0 deletions
diff --git a/browser/components/urlbar/tests/engagementTelemetry/browser/browser_glean_telemetry_engagement_groups.js b/browser/components/urlbar/tests/engagementTelemetry/browser/browser_glean_telemetry_engagement_groups.js
new file mode 100644
index 0000000000..9060835562
--- /dev/null
+++ b/browser/components/urlbar/tests/engagementTelemetry/browser/browser_glean_telemetry_engagement_groups.js
@@ -0,0 +1,259 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+// Test for the following data of engagement telemetry.
+// - groups
+// - results
+// - n_results
+
+add_setup(async function () {
+ await initGroupTest();
+});
+
+add_task(async function heuristics() {
+ await doHeuristicsTest({
+ trigger: () => doEnter(),
+ assert: () =>
+ assertEngagementTelemetry([
+ { groups: "heuristic", results: "search_engine" },
+ ]),
+ });
+});
+
+add_task(async function adaptive_history() {
+ await doAdaptiveHistoryTest({
+ trigger: () => doEnter(),
+ assert: () =>
+ assertEngagementTelemetry([
+ {
+ groups: "heuristic,adaptive_history",
+ results: "search_engine,history",
+ n_results: 2,
+ },
+ ]),
+ });
+});
+
+add_task(async function search_history() {
+ await doSearchHistoryTest({
+ trigger: () => doEnter(),
+ assert: () =>
+ assertEngagementTelemetry([
+ {
+ groups: "heuristic,search_history,search_history",
+ results: "search_engine,search_history,search_history",
+ n_results: 3,
+ },
+ ]),
+ });
+});
+
+add_task(async function search_suggest() {
+ await doSearchSuggestTest({
+ trigger: () => doEnter(),
+ assert: () =>
+ assertEngagementTelemetry([
+ {
+ groups: "heuristic,search_suggest,search_suggest",
+ results: "search_engine,search_suggest,search_suggest",
+ n_results: 3,
+ },
+ ]),
+ });
+
+ await doTailSearchSuggestTest({
+ trigger: () => doEnter(),
+ assert: () =>
+ assertEngagementTelemetry([
+ {
+ groups: "heuristic,search_suggest",
+ results: "search_engine,search_suggest",
+ n_results: 2,
+ },
+ ]),
+ });
+});
+
+add_task(async function top_pick() {
+ await doTopPickTest({
+ trigger: () => doEnter(),
+ assert: () =>
+ assertEngagementTelemetry([
+ {
+ groups: "heuristic,top_pick,search_suggest,search_suggest",
+ results:
+ "search_engine,rs_adm_sponsored,search_suggest,search_suggest",
+ n_results: 4,
+ },
+ ]),
+ });
+});
+
+add_task(async function top_site() {
+ await doTopSiteTest({
+ trigger: () => doEnter(),
+ assert: () =>
+ assertEngagementTelemetry([
+ {
+ groups: "top_site,suggested_index",
+ results: "top_site,action",
+ n_results: 2,
+ },
+ ]),
+ });
+});
+
+add_task(async function remote_tab() {
+ await doRemoteTabTest({
+ trigger: () => doEnter(),
+ assert: () =>
+ assertEngagementTelemetry([
+ {
+ groups: "heuristic,remote_tab",
+ results: "search_engine,remote_tab",
+ n_results: 2,
+ },
+ ]),
+ });
+});
+
+add_task(async function addon() {
+ await doAddonTest({
+ trigger: () => doEnter(),
+ assert: () =>
+ assertEngagementTelemetry([
+ {
+ groups: "addon",
+ results: "addon",
+ n_results: 1,
+ },
+ ]),
+ });
+});
+
+add_task(async function general() {
+ await doGeneralBookmarkTest({
+ trigger: () => doEnter(),
+ assert: () =>
+ assertEngagementTelemetry([
+ {
+ groups: "heuristic,suggested_index,general",
+ results: "search_engine,action,bookmark",
+ n_results: 3,
+ },
+ ]),
+ });
+
+ await doGeneralHistoryTest({
+ trigger: () => doEnter(),
+ assert: () =>
+ assertEngagementTelemetry([
+ {
+ groups: "heuristic,general",
+ results: "search_engine,history",
+ n_results: 2,
+ },
+ ]),
+ });
+});
+
+add_task(async function suggest() {
+ await doSuggestTest({
+ trigger: () => doEnter(),
+ assert: () =>
+ assertEngagementTelemetry([
+ {
+ groups: "heuristic,suggest",
+ results: "search_engine,rs_adm_nonsponsored",
+ n_results: 2,
+ },
+ ]),
+ });
+});
+
+add_task(async function about_page() {
+ await doAboutPageTest({
+ trigger: () => doEnter(),
+ assert: () =>
+ assertEngagementTelemetry([
+ {
+ groups: "heuristic,about_page,about_page",
+ results: "search_engine,history,history",
+ n_results: 3,
+ },
+ ]),
+ });
+});
+
+add_task(async function suggested_index() {
+ await doSuggestedIndexTest({
+ trigger: () =>
+ SimpleTest.promiseClipboardChange("100 cm", () => {
+ EventUtils.synthesizeKey("KEY_Enter");
+ }),
+ assert: () =>
+ assertEngagementTelemetry([
+ {
+ groups: "heuristic,suggested_index",
+ results: "search_engine,unit",
+ n_results: 2,
+ },
+ ]),
+ });
+});
+
+add_task(async function always_empty_if_drop_go() {
+ const expected = [
+ {
+ engagement_type: "drop_go",
+ groups: "",
+ results: "",
+ n_results: 0,
+ },
+ ];
+
+ await doTest(async browser => {
+ await doDropAndGo("example.com");
+
+ assertEngagementTelemetry(expected);
+ });
+
+ await doTest(async browser => {
+ // Open the results view once.
+ await showResultByArrowDown();
+ await UrlbarTestUtils.promisePopupClose(window);
+
+ await doDropAndGo("example.com");
+
+ assertEngagementTelemetry(expected);
+ });
+});
+
+add_task(async function always_empty_if_paste_go() {
+ const expected = [
+ {
+ engagement_type: "paste_go",
+ groups: "",
+ results: "",
+ n_results: 0,
+ },
+ ];
+
+ await doTest(async browser => {
+ await doPasteAndGo("example.com");
+
+ assertEngagementTelemetry(expected);
+ });
+
+ await doTest(async browser => {
+ // Open the results view once.
+ await showResultByArrowDown();
+ await UrlbarTestUtils.promisePopupClose(window);
+
+ await doPasteAndGo("example.com");
+
+ assertEngagementTelemetry(expected);
+ });
+});