Commit ba0cb760 authored by Fred Chasen's avatar Fred Chasen Committed by fchasen@mozilla.com
Browse files

Bug 1966511 - Remove Shopping component tests. r=shopping-reviewers,rking

parent a5883f88
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -15,9 +15,5 @@ EXTRA_JS_MODULES += [
    "ShoppingUtils.sys.mjs",
]

BROWSER_CHROME_MANIFESTS += [
    "tests/browser/browser.toml",
]

with Files("**"):
    BUG_COMPONENT = ("Firefox", "Shopping")
+0 −78
Original line number Diff line number Diff line
[DEFAULT]
support-files = [
  "head.js",
  "!/toolkit/components/shopping/test/mockapis/server_helper.js",
  "!/toolkit/components/shopping/test/mockapis/analysis_status.sjs",
  "!/toolkit/components/shopping/test/mockapis/analysis.sjs",
  "!/toolkit/components/shopping/test/mockapis/analyze.sjs",
  "!/toolkit/components/shopping/test/mockapis/attribution.sjs",
  "!/toolkit/components/shopping/test/mockapis/recommendations.sjs",
  "!/toolkit/components/shopping/test/mockapis/reporting.sjs",
]

prefs = [
  "browser.shopping.experience2023.enabled=true",
  "browser.shopping.experience2023.optedIn=1",
  "browser.shopping.experience2023.ads.enabled=true",
  "browser.shopping.experience2023.ads.userEnabled=true",
  "browser.shopping.experience2023.autoOpen.enabled=false",
  "browser.shopping.experience2023.autoOpen.userEnabled=true",
  "toolkit.shopping.environment=test",
  "toolkit.shopping.ohttpRelayURL=https://example.com/relay", # These URLs don't actually host a relay or gateway config, but are needed to stop us making outside network connections.
  "toolkit.shopping.ohttpConfigURL=https://example.com/ohttp-config",
  "browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features=false", # Disable the fakespot feature callouts to avoid interference. Individual tests that need them can re-enable them as needed.
]

["browser_shopping_adjusted_rating.js"]

["browser_shopping_analysis_explainer.js"]

["browser_shopping_container.js"]

["browser_shopping_exposure_telemetry.js"]

["browser_shopping_inprogress_analysis.js"]

["browser_shopping_network_offline.js"]

["browser_shopping_not_enough_reviews.js"]

["browser_shopping_onboarding.js"]

["browser_shopping_page_not_supported.js"]

["browser_shopping_review_highlights.js"]

["browser_shopping_settings.js"]

["browser_shopping_settings_telemetry.js"]

["browser_shopping_sidebar.js"]

["browser_shopping_stale_product.js"]

["browser_shopping_survey.js"]

["browser_shopping_ui_telemetry.js"]

["browser_shopping_unanalyzed_product.js"]

["browser_shopping_unavailable_product.js"]

["browser_shoppingsidebar_auto_open.js"]

["browser_shoppingsidebar_keep_close_message_bar.js"]

["browser_shoppingsidebar_message_triggers.js"]

["browser_shoppingsidebar_onboarding.js"]

["browser_shoppingsidebar_private_mode.js"]

["browser_shoppingsidebar_recommended_ad_test.js"]

["browser_shoppingsidebar_settings.js"]

["browser_shoppingsidebar_telemetry.js"]

["browser_shoppingsidebar_urlbar.js"]
+0 −90
Original line number Diff line number Diff line
/* Any copyright is dedicated to the Public Domain.
   http://creativecommons.org/publicdomain/zero/1.0/ */

"use strict";

add_task(async function test_adjusted_rating() {
  await BrowserTestUtils.withNewTab(
    {
      url: "about:shoppingsidebar",
      gBrowser,
    },
    async browser => {
      await SpecialPowers.spawn(
        browser,
        [MOCK_ANALYZED_PRODUCT_RESPONSE],
        async mockData => {
          let rating = mockData.adjusted_rating;

          let shoppingContainer =
            content.document.querySelector(
              "shopping-container"
            ).wrappedJSObject;
          shoppingContainer.data = Cu.cloneInto(mockData, content);
          await shoppingContainer.updateComplete;

          let adjustedRating = shoppingContainer.adjustedRatingEl;
          await adjustedRating.updateComplete;

          is(
            adjustedRating.rating,
            rating,
            `The adjusted rating "rating" is ${rating}`
          );

          rating = 2.55;
          adjustedRating.rating = rating;

          await adjustedRating.updateComplete;

          is(
            adjustedRating.rating,
            rating,
            `The adjusted rating "rating" is now ${rating}`
          );

          rating = 0;
          adjustedRating.rating = rating;

          await adjustedRating.updateComplete;

          is(
            adjustedRating.rating,
            rating,
            `The adjusted rating "rating" is now ${rating}`
          );

          rating = null;
          adjustedRating.rating = rating;

          await adjustedRating.updateComplete;

          is(
            adjustedRating.rating,
            rating,
            `The adjusted rating "rating" is now ${rating}`
          );

          ok(
            ContentTaskUtils.isHidden(adjustedRating),
            "adjusted rating should not be visible"
          );

          rating = 3;
          adjustedRating.rating = rating;

          await adjustedRating.updateComplete;
          ok(
            ContentTaskUtils.isVisible(adjustedRating),
            "adjusted rating should be visible"
          );
          is(
            adjustedRating.rating,
            rating,
            `The adjusted rating "rating" is now ${rating}`
          );
        }
      );
    }
  );
});
+0 −43
Original line number Diff line number Diff line
/* Any copyright is dedicated to the Public Domain.
 * http://creativecommons.org/publicdomain/zero/1.0/ */

"use strict";

/**
 * Tests that the analysis explainer SUMO link is rendered with the expected
 * UTM parameters.
 */
add_task(async function test_analysis_explainer_sumo_link_utm() {
  await BrowserTestUtils.withNewTab(
    {
      url: "about:shoppingsidebar",
      gBrowser,
    },
    async browser => {
      await SpecialPowers.spawn(
        browser,
        [MOCK_ANALYZED_PRODUCT_RESPONSE],
        async mockData => {
          let shoppingContainer =
            content.document.querySelector(
              "shopping-container"
            ).wrappedJSObject;
          shoppingContainer.data = Cu.cloneInto(mockData, content);
          await shoppingContainer.updateComplete;

          let card =
            shoppingContainer.analysisExplainerEl.shadowRoot.querySelector(
              "shopping-card"
            );

          let href = card.querySelector("a").href;
          let qs = new URL(href).searchParams;
          is(qs.get("as"), "u");
          is(qs.get("utm_source"), "inproduct");
          is(qs.get("utm_campaign"), "learn-more");
          is(qs.get("utm_term"), "core-sidebar");
        }
      );
    }
  );
});
+0 −43
Original line number Diff line number Diff line
/* Any copyright is dedicated to the Public Domain.
 * http://creativecommons.org/publicdomain/zero/1.0/ */

"use strict";

/* import-globals-from head.js */

add_task(async function test_close_button() {
  await BrowserTestUtils.withNewTab(
    {
      url: "about:shoppingsidebar",
      gBrowser,
    },
    async browser => {
      // Call SpecialPowers.spawn to make RPMSetPref available on the content window.
      await SpecialPowers.spawn(
        browser,
        [MOCK_ANALYZED_PRODUCT_RESPONSE],
        async () => {
          let { sinon } = ChromeUtils.importESModule(
            "resource://testing-common/Sinon.sys.mjs"
          );

          let xrayWindow = ChromeUtils.waiveXrays(content);
          let setPrefSpy = sinon.spy(xrayWindow, "RPMSetPref");

          let closeButton = content.document
            .querySelector("shopping-container")
            .shadowRoot.querySelector("#close-button");
          closeButton.click();

          ok(
            setPrefSpy.calledOnceWith(
              "browser.shopping.experience2023.active",
              false
            )
          );
          setPrefSpy.restore();
        }
      );
    }
  );
});
Loading