diff --git a/.changeset/fast-poets-refuse.md b/.changeset/fast-poets-refuse.md new file mode 100644 index 000000000000..91ce70b9db28 --- /dev/null +++ b/.changeset/fast-poets-refuse.md @@ -0,0 +1,5 @@ +--- +"ledger-live-desktop": patch +--- + +remove quotes filters on swap-live-app demo0 diff --git a/apps/ledger-live-desktop/src/renderer/screens/exchange/Swap2/Form/Rates/index.tsx b/apps/ledger-live-desktop/src/renderer/screens/exchange/Swap2/Form/Rates/index.tsx index 53ebbf45eeb0..44413fc1c336 100644 --- a/apps/ledger-live-desktop/src/renderer/screens/exchange/Swap2/Form/Rates/index.tsx +++ b/apps/ledger-live-desktop/src/renderer/screens/exchange/Swap2/Form/Rates/index.tsx @@ -1,29 +1,28 @@ -import React, { useCallback, useState, useMemo, useEffect } from "react"; -import { useDispatch, useSelector } from "react-redux"; -import { Trans } from "react-i18next"; -import { track } from "~/renderer/analytics/segment"; -import Box from "~/renderer/components/Box"; -import Text from "~/renderer/components/Text"; -import NoQuoteSwapRate from "./NoQuoteSwapRate"; -import SwapRate from "./SwapRate"; -import Countdown from "./Countdown"; -import LoadingState from "./LoadingState"; -import Filter from "./Filter"; +import { getFeesUnit } from "@ledgerhq/live-common/account/index"; +import { formatCurrencyUnit } from "@ledgerhq/live-common/currencies/index"; import { - SwapSelectorStateType, - RatesReducerState, ExchangeRate, + RatesReducerState, + SwapSelectorStateType, } from "@ledgerhq/live-common/exchange/swap/types"; +import { isRegistrationRequired } from "@ledgerhq/live-common/exchange/swap/utils/index"; +import React, { useCallback, useEffect, useMemo, useState } from "react"; +import { Trans } from "react-i18next"; +import { useDispatch, useSelector } from "react-redux"; +import styled from "styled-components"; import { rateSelector, updateRateAction } from "~/renderer/actions/swap"; +import { track } from "~/renderer/analytics/segment"; import TrackPage from "~/renderer/analytics/TrackPage"; -import { useGetSwapTrackingProperties } from "../../utils/index"; -import styled from "styled-components"; +import Box from "~/renderer/components/Box"; +import Text from "~/renderer/components/Text"; import Tooltip from "~/renderer/components/Tooltip"; import IconInfoCircle from "~/renderer/icons/InfoCircle"; +import { useGetSwapTrackingProperties } from "../../utils/index"; +import Countdown from "./Countdown"; import { filterRates } from "./filterRates"; -import { getFeesUnit } from "@ledgerhq/live-common/account/index"; -import { formatCurrencyUnit } from "@ledgerhq/live-common/currencies/index"; -import { isRegistrationRequired } from "@ledgerhq/live-common/exchange/swap/utils/index"; +import LoadingState from "./LoadingState"; +import NoQuoteSwapRate from "./NoQuoteSwapRate"; +import SwapRate from "./SwapRate"; type Props = { fromCurrency: SwapSelectorStateType["currency"]; @@ -172,7 +171,6 @@ export default function ProviderRate({ )} - diff --git a/apps/ledger-live-desktop/tests/page/swap.page.ts b/apps/ledger-live-desktop/tests/page/swap.page.ts index 9540ce7a14b4..363bee9094ab 100644 --- a/apps/ledger-live-desktop/tests/page/swap.page.ts +++ b/apps/ledger-live-desktop/tests/page/swap.page.ts @@ -1,5 +1,5 @@ -import { waitFor } from "../utils/waitFor"; import { AppPage } from "tests/page/abstractClasses"; +import { waitFor } from "../utils/waitFor"; export class SwapPage extends AppPage { private swapMenuButton = this.page.getByTestId("drawer-swap-button"); // TODO: Should this be here? @@ -112,22 +112,6 @@ export class SwapPage extends AppPage { await this.customFeeTextbox.fill(amount); } - async filterByCentralisedQuotes() { - await this.centralisedQuoteFilterButton.click(); - } - - async filterByDecentralisedQuotes() { - await this.decentralisedQuoteFilterButton.click(); - } - - async filterByFloatingRateQuotes() { - await this.floatQuoteFilterButton.click(); - } - - async filterByFixedRateQuotes() { - await this.fixedQuoteFilterButton.click(); - } - async selectExchangeQuote( providerName: "changelly" | "cic" | "oneinch" | "paraswap", exchangeType: "fixed" | "float", @@ -157,11 +141,6 @@ export class SwapPage extends AppPage { return this.detailsSwapId.innerText(); } - async waitForProviderRates() { - await this.centralisedQuoteFilterButton.waitFor({ state: "visible" }); - await this.decentralisedQuoteFilterButton.waitFor({ state: "visible" }); - } - // TODO: pull this function out into a utility function so we can use it elsewhere async verifyHistoricalSwapsHaveLoadedFully() { await this.page.waitForFunction(async () => { diff --git a/apps/ledger-live-desktop/tests/specs/services/swap.spec.ts b/apps/ledger-live-desktop/tests/specs/services/swap.spec.ts index a04393cff6ae..1ed9ea01d7c2 100644 --- a/apps/ledger-live-desktop/tests/specs/services/swap.spec.ts +++ b/apps/ledger-live-desktop/tests/specs/services/swap.spec.ts @@ -1,17 +1,16 @@ /* eslint-disable @typescript-eslint/no-unused-vars */ -import test from "../../fixtures/mockFixtures"; import { expect } from "@playwright/test"; -import { SwapPage } from "../../page/swap.page"; -import { DeviceAction } from "../../models/DeviceAction"; -import { Drawer } from "../../page/drawer/drawer"; -import { AccountsPage } from "../../page/accounts.page"; -import { AccountPage } from "../../page/account.page"; import { Layout } from "../../component/layout.component"; import { Modal } from "../../component/modal.component"; +import test from "../../fixtures/mockFixtures"; +import { DeviceAction } from "../../models/DeviceAction"; +import { AccountPage } from "../../page/account.page"; +import { AccountsPage } from "../../page/accounts.page"; +import { Drawer } from "../../page/drawer/drawer"; +import { SwapPage } from "../../page/swap.page"; import { getBitcoinToDogecoinRatesMock, getBitcoinToEthereumRatesMock, - getEthereumToTetherRatesMock, getProvidersCDNDataMock, } from "./services-api-mocks/getRates.mock"; @@ -97,7 +96,6 @@ test.describe.parallel("Swap", () => { await swapPage.selectCurrencyFromCurrencyDropdown("Dogecoin"); await swapPage.sendMax(); // entering amount in textbox doesn't generate a quote in mock/PW await layout.waitForLoadingSpinnerToHaveDisappeared(); - await swapPage.waitForProviderRates(); await expect.soft(page).toHaveScreenshot("add-to-account-button.png"); }); @@ -107,58 +105,6 @@ test.describe.parallel("Swap", () => { }); }); - test("Filter Rates @smoke", async ({ page, mockProviderSvgs, mockFeesEndpoint }) => { - const swapPage = new SwapPage(page); - const layout = new Layout(page); - - await page.route("https://swap.ledger.com/v5/rate**", async route => { - const mockRatesResponse = getEthereumToTetherRatesMock(); - await route.fulfill({ headers: { teststatus: "mocked" }, body: mockRatesResponse }); - }); - - await page.route("https://cdn.live.ledger.com/swap-providers/data.json", async route => { - const mockProvidersResponse = getProvidersCDNDataMock(); - await route.fulfill({ headers: { teststatus: "mocked" }, body: mockProvidersResponse }); - }); - - await test.step("Generate ETH to USDT quotes", async () => { - await swapPage.navigate(); - await swapPage.reverseSwapPair(); - await swapPage.filterDestinationCurrencyDropdown("Tether USD"); - await layout.waitForLoadingSpinnerToHaveDisappeared(); - await swapPage.selectCurrencyFromCurrencyDropdown("Tether USD"); - await swapPage.sendMax(); - await layout.waitForLoadingSpinnerToHaveDisappeared(); - await swapPage.waitForProviderRates(); - await expect.soft(page).toHaveScreenshot("eth-to-usdt-quotes-generated.png"); - }); - - await test.step("Decentralised Quotes filtered", async () => { - await swapPage.filterByDecentralisedQuotes(); - await expect.soft(page).toHaveScreenshot("only-decentralised-quotes-displayed.png"); - }); - - await test.step("Fixed Decentralised Quotes filtered", async () => { - await swapPage.filterByFixedRateQuotes(); - await expect.soft(page).toHaveScreenshot("fixed-decentralised-quotes-displayed.png"); - }); - - await test.step("Floating Decentralised Quotes filtered", async () => { - await swapPage.filterByFloatingRateQuotes(); - await expect.soft(page).toHaveScreenshot("floating-decentralised-quotes-displayed.png"); - }); - - await test.step("Floating Centralised Quotes filtered", async () => { - await swapPage.filterByCentralisedQuotes(); - await expect.soft(page).toHaveScreenshot("floating-centralised-quotes-displayed.png"); - }); - - await test.step("Fixed Centralised filtered", async () => { - await swapPage.filterByFixedRateQuotes(); - await expect.soft(page).toHaveScreenshot("fixed-centralised-quotes-diplayed.png"); - }); - }); - test("Full Swap with Centralised Exchange @smoke", async ({ page, mockProviderSvgs,