From 18a777596e34de50c57fad2a47dd139d51b557ef Mon Sep 17 00:00:00 2001 From: Gregor Gilchrist Date: Thu, 20 Jul 2023 15:31:25 +0200 Subject: [PATCH 1/4] fix: removed screenshot swap checks in favour of text check and tidied up services page objects and tests --- .../drawers/SwapOperationDetails/index.tsx | 14 ++++--- .../tests/models/DiscoverPage.ts | 21 ---------- .../tests/models/Drawer.ts | 21 ++++++++++ .../tests/models/LiveAppWebview.ts | 41 +------------------ .../ledger-live-desktop/tests/models/Modal.ts | 16 ++++++++ .../tests/models/SwapPage.ts | 7 ++-- .../specs/services/ethereumStaking.spec.ts | 3 +- .../tests/specs/services/liveapp-sdk.spec.ts | 9 ++-- .../tests/specs/services/swap.spec.ts | 20 +++++---- .../src/currencies/formatCurrencyUnit.ts | 13 ++++++ 10 files changed, 81 insertions(+), 84 deletions(-) diff --git a/apps/ledger-live-desktop/src/renderer/drawers/SwapOperationDetails/index.tsx b/apps/ledger-live-desktop/src/renderer/drawers/SwapOperationDetails/index.tsx index d68dced61de2..ec6fc8c47186 100644 --- a/apps/ledger-live-desktop/src/renderer/drawers/SwapOperationDetails/index.tsx +++ b/apps/ledger-live-desktop/src/renderer/drawers/SwapOperationDetails/index.tsx @@ -167,7 +167,8 @@ const SwapOperationDetails = ({ showCode val={normalisedFromAmount} fontSize={6} - disableRounding + // disableRounding + data-test-id="swap-amount-from" /> @@ -181,8 +182,9 @@ const SwapOperationDetails = ({ showCode val={toAmount} fontSize={6} - disableRounding + // disableRounding color={statusColor} + data-test-id="swap-amount-to" /> @@ -280,7 +282,7 @@ const SwapOperationDetails = ({ - + openAccount(fromAccount)}>{getAccountName(fromAccount)} @@ -298,7 +300,7 @@ const SwapOperationDetails = ({ unit={fromUnit} showCode val={fromAmount} - disableRounding + // disableRounding color={"palette.text.shade50"} /> @@ -322,7 +324,7 @@ const SwapOperationDetails = ({ - + openAccount(toAccount)}>{getAccountName(toAccount)} @@ -341,7 +343,7 @@ const SwapOperationDetails = ({ showCode val={toAmount} fontSize={6} - disableRounding + // disableRounding color={"palette.text.shade50"} /> diff --git a/apps/ledger-live-desktop/tests/models/DiscoverPage.ts b/apps/ledger-live-desktop/tests/models/DiscoverPage.ts index 03cd7768ea92..585e5e694d11 100644 --- a/apps/ledger-live-desktop/tests/models/DiscoverPage.ts +++ b/apps/ledger-live-desktop/tests/models/DiscoverPage.ts @@ -2,34 +2,13 @@ import { Page, Locator } from "@playwright/test"; export class DiscoverPage { readonly page: Page; - readonly discoverTitle: Locator; - readonly discoverMenuButton: Locator; readonly testAppCatalogItem: Locator; readonly disclaimerTitle: Locator; - readonly disclaimerText: Locator; - readonly liveAppTitle: Locator; - readonly liveAppLoadingSpinner: Locator; - readonly getAllAccountsButton: Locator; - readonly requestAccountButton: Locator; - readonly selectAssetTitle: Locator; - readonly selectAssetSearchBar: Locator; - readonly selectAccountTitle: Locator; - readonly selectBtcAsset: Locator; - readonly selectBtcAccount: Locator; - readonly disclaimerCheckbox: Locator; - readonly signNetworkWarning: Locator; - readonly signContinueButton: Locator; - readonly confirmText: Locator; - readonly webview: Locator; constructor(page: Page) { this.page = page; - this.webview = page.locator("webview"); - this.discoverMenuButton = page.locator("data-test-id=drawer-catalog-button"); - this.discoverTitle = page.locator("data-test-id=discover-title"); this.testAppCatalogItem = page.locator("#platform-catalog-app-dummy-live-app"); this.disclaimerTitle = page.locator("data-test-id=live-app-disclaimer-drawer-title"); - this.disclaimerText = page.locator("text=External Application"); } async openTestApp() { diff --git a/apps/ledger-live-desktop/tests/models/Drawer.ts b/apps/ledger-live-desktop/tests/models/Drawer.ts index 3618543f6c4c..c8abc7b3f9d8 100644 --- a/apps/ledger-live-desktop/tests/models/Drawer.ts +++ b/apps/ledger-live-desktop/tests/models/Drawer.ts @@ -8,6 +8,14 @@ export class Drawer { readonly closeButton: Locator; readonly currencyButton: (currency: string) => Locator; readonly accountButton: (accountName: string, index: number) => Locator; + readonly selectAssetTitle: Locator; + readonly selectAssetSearchBar: Locator; + readonly selectAccountTitle: Locator; + readonly disclaimerCheckbox: Locator; + readonly swapAmountFrom: Locator; + readonly swapAmountTo: Locator; + readonly swapAccountFrom: Locator; + readonly swapAccountTo: Locator; constructor(page: Page) { this.page = page; @@ -19,6 +27,14 @@ export class Drawer { page.locator(`data-test-id=currency-row-${currency.toLowerCase()}`); this.accountButton = (accountName, index) => page.locator(`data-test-id=account-row-${accountName.toLowerCase()}-${index}`).first(); + this.selectAssetTitle = page.locator("data-test-id=select-asset-drawer-title"); + this.selectAssetSearchBar = page.locator("data-test-id=select-asset-drawer-search-input"); + this.selectAccountTitle = page.locator("data-test-id=select-account-drawer-title"); + this.disclaimerCheckbox = page.locator("data-test-id=dismiss-disclaimer"); + this.swapAmountFrom = page.locator("data-test-id=swap-amount-from").first(); + this.swapAmountTo = page.locator("data-test-id=swap-amount-to").first(); + this.swapAccountFrom = page.locator("data-test-id=swap-account-from").first(); + this.swapAccountTo = page.locator("data-test-id=swap-account-to").first(); } async continue() { @@ -49,4 +65,9 @@ export class Drawer { async selectAccount(accountName: string, index = 0) { await this.accountButton(accountName, index).click(); } + + async verifyAssetIsReady() { + await this.selectAssetTitle.isVisible(); + await this.selectAssetSearchBar.isEnabled(); + } } diff --git a/apps/ledger-live-desktop/tests/models/LiveAppWebview.ts b/apps/ledger-live-desktop/tests/models/LiveAppWebview.ts index 5e99a1b45dcb..a2ec75574db0 100644 --- a/apps/ledger-live-desktop/tests/models/LiveAppWebview.ts +++ b/apps/ledger-live-desktop/tests/models/LiveAppWebview.ts @@ -8,37 +8,19 @@ export class LiveAppWebview { readonly page: Page; readonly liveAppTitle: Locator; readonly liveAppLoadingSpinner: Locator; - readonly getAllAccountsButton: Locator; - readonly requestAccountButton: Locator; + readonly webview: Locator; readonly selectAssetTitle: Locator; readonly selectAssetSearchBar: Locator; readonly selectAccountTitle: Locator; - readonly selectBtcAsset: Locator; - readonly selectBtcAccount: Locator; - readonly disclaimerCheckbox: Locator; - readonly signNetworkWarning: Locator; - readonly signContinueButton: Locator; - readonly confirmText: Locator; - readonly webview: Locator; constructor(page: Page) { this.page = page; this.webview = page.locator("webview"); this.liveAppTitle = page.locator("data-test-id=live-app-title"); this.liveAppLoadingSpinner = page.locator("data-test-id=live-app-loading-spinner"); - this.getAllAccountsButton = page.locator("data-test-id=get-all-accounts-button"); // TODO: make this into its own model - this.requestAccountButton = page.locator("data-test-id=request-single-account-button"); this.selectAssetTitle = page.locator("data-test-id=select-asset-drawer-title"); this.selectAssetSearchBar = page.locator("data-test-id=select-asset-drawer-search-input"); this.selectAccountTitle = page.locator("data-test-id=select-account-drawer-title"); - this.selectBtcAsset = page.locator("text=Bitcoin").first(); - this.selectBtcAccount = page.locator("text=Bitcoin 1 (legacy)").first(); - this.disclaimerCheckbox = page.locator("data-test-id=dismiss-disclaimer"); - this.signNetworkWarning = page.locator("text=Network fees are above 10% of the amount").first(); - this.signContinueButton = page.locator("text=Continue"); - this.confirmText = page.locator( - "text=Please confirm the operation on your device to finalize it", - ); } static async startLiveApp( @@ -95,18 +77,6 @@ export class LiveAppWebview { async requestAsset() { await this.clickWebviewElement("[data-test-id=request-single-account-button]"); - await this.selectAssetTitle.isVisible(); - await this.selectAssetSearchBar.isEnabled(); - } - - async selectAsset() { - await this.selectBtcAsset.click(); - } - - async selectAccount() { - await this.selectAccountTitle.isVisible(); - // TODO: make this dynamic with passed in variable - await this.selectBtcAccount.click(); } async verifyAddress() { @@ -119,15 +89,6 @@ export class LiveAppWebview { async signTransaction() { await this.clickWebviewElement("[data-test-id=sign-transaction-button]"); - await this.signNetworkWarning.waitFor({ state: "visible" }); - } - - async continueToSignTransaction() { - await this.signContinueButton.click({ force: true }); - } - - async waitForConfirmationScreenToBeDisplayed() { - await this.confirmText.waitFor({ state: "visible" }); } async clickWebviewElement(elementName: string) { diff --git a/apps/ledger-live-desktop/tests/models/Modal.ts b/apps/ledger-live-desktop/tests/models/Modal.ts index add39c3c0750..6771c71a4f1b 100644 --- a/apps/ledger-live-desktop/tests/models/Modal.ts +++ b/apps/ledger-live-desktop/tests/models/Modal.ts @@ -16,6 +16,9 @@ export class Modal { readonly backButton: Locator; readonly stakeProviderContainer: (stakeProvider: string) => Locator; readonly stakeProviderSupportLink: (stakeProvider: string) => Locator; + readonly signNetworkWarning: Locator; + readonly signContinueButton: Locator; + readonly confirmText: Locator; constructor(page: Page) { this.page = page; @@ -37,6 +40,11 @@ export class Modal { page.locator(`data-test-id=stake-provider-container-${stakeProviderID}`); this.stakeProviderSupportLink = stakeProviderID => page.locator(`data-test-id=stake-provider-support-link-${stakeProviderID}`); + this.signNetworkWarning = page.locator("text=Network fees are above 10% of the amount").first(); + this.signContinueButton = page.locator("text=Continue"); + this.confirmText = page.locator( + "text=Please confirm the operation on your device to finalize it", + ); } async continue() { @@ -83,4 +91,12 @@ export class Modal { async chooseStakeSupportLink(stakeProvider: string) { await this.stakeProviderSupportLink(stakeProvider).dispatchEvent("click"); } + + async continueToSignTransaction() { + await this.signContinueButton.click({ force: true }); + } + + async waitForConfirmationScreenToBeDisplayed() { + await this.confirmText.waitFor({ state: "visible" }); + } } diff --git a/apps/ledger-live-desktop/tests/models/SwapPage.ts b/apps/ledger-live-desktop/tests/models/SwapPage.ts index 8254c4d6f5d2..c15426cae6b5 100644 --- a/apps/ledger-live-desktop/tests/models/SwapPage.ts +++ b/apps/ledger-live-desktop/tests/models/SwapPage.ts @@ -1,5 +1,5 @@ import { Page, Locator } from "@playwright/test"; -import { waitFor } from "tests/utils/waitFor"; +import { waitFor } from "../utils/waitFor"; export class SwapPage { readonly page: Page; @@ -170,9 +170,8 @@ export class SwapPage { await this.exchangeButton.click(); } - async verifySuccessfulExchange() { + async waitForSuccessfulExchange() { await this.swapId.waitFor({ state: "visible" }); - return this.swapId.innerText(); } async navigateToExchangeDetails() { @@ -180,7 +179,7 @@ export class SwapPage { await this.swapId.waitFor({ state: "hidden" }); // for some reason the detailsSwapId visible check below is not sufficient and we need to check that this element is gone before checking the new page is available. } - async verifyExchangeDetails() { + async waitForExchangeDetails() { await this.detailsSwapId.waitFor({ state: "visible" }); return this.detailsSwapId.innerText(); } diff --git a/apps/ledger-live-desktop/tests/specs/services/ethereumStaking.spec.ts b/apps/ledger-live-desktop/tests/specs/services/ethereumStaking.spec.ts index 8e1fda1cc3f1..7af78051a29e 100644 --- a/apps/ledger-live-desktop/tests/specs/services/ethereumStaking.spec.ts +++ b/apps/ledger-live-desktop/tests/specs/services/ethereumStaking.spec.ts @@ -104,6 +104,7 @@ test("Ethereum staking flows via portfolio, asset page and market page", async ( }); await test.step("choose Kiln", async () => { + await page.pause(); const analyticsPromise = analytics.waitForTracking({ event: "button_clicked", properties: { @@ -118,7 +119,7 @@ test("Ethereum staking flows via portfolio, asset page and market page", async ( await analyticsPromise; await liveAppWebview.waitForCorrectTextInWebview("Ethereum 2"); const dappURL = await liveAppWebview.getLiveAppDappURL(); - await expect(await liveAppWebview.getLiveAppTitle()).toBe("Kiln"); + expect(await liveAppWebview.getLiveAppTitle()).toBe("Kiln"); expect(dappURL).toContain("?focus=dedicated"); await expect.soft(page).toHaveScreenshot("stake-provider-dapp-has-opened.png", { mask: [page.locator("webview")], diff --git a/apps/ledger-live-desktop/tests/specs/services/liveapp-sdk.spec.ts b/apps/ledger-live-desktop/tests/specs/services/liveapp-sdk.spec.ts index 42bd776fbef2..969cdca412d1 100644 --- a/apps/ledger-live-desktop/tests/specs/services/liveapp-sdk.spec.ts +++ b/apps/ledger-live-desktop/tests/specs/services/liveapp-sdk.spec.ts @@ -60,17 +60,18 @@ test("Live App SDK methods @smoke", async ({ page }) => { await test.step("Request Account drawer - open", async () => { await liveAppWebview.requestAsset(); + await drawer.verifyAssetIsReady(); await expect(liveAppWebview.selectAssetTitle).toBeVisible(); }); await test.step("Request Account - select asset", async () => { - await liveAppWebview.selectAsset(); + await drawer.selectCurrency("Bitcoin"); await expect(liveAppWebview.selectAccountTitle).toBeVisible(); await expect(liveAppWebview.selectAssetSearchBar).toBeEnabled(); }); await test.step("Request Account - select BTC", async () => { - await liveAppWebview.selectAccount(); + await drawer.selectAccount("Bitcoin", 0); await drawer.waitForDrawerToDisappear(); await liveAppWebview.waitForCorrectTextInWebview("mock:1:bitcoin:true_bitcoin_0:"); }); @@ -99,9 +100,9 @@ test("Live App SDK methods @smoke", async ({ page }) => { }); await test.step("Sign Transaction - confirmation modal", async () => { - await liveAppWebview.continueToSignTransaction(); + await modal.continueToSignTransaction(); await layout.waitForLoadingSpinnerToHaveDisappeared(); - await liveAppWebview.waitForConfirmationScreenToBeDisplayed(); + await modal.waitForConfirmationScreenToBeDisplayed(); await expect(page.locator("text=0.0000123")).toBeVisible(); await expect(page.locator("text=0.0000025")).toBeVisible(); // This screenshot is flaky as the loading spinner appears again after this confirm modal, and on slow CI runners the screenshot can take a picture of this instead of the confirm. 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 ccc90c496563..4f4b84c73dec 100644 --- a/apps/ledger-live-desktop/tests/specs/services/swap.spec.ts +++ b/apps/ledger-live-desktop/tests/specs/services/swap.spec.ts @@ -17,6 +17,7 @@ import { getStatusMock } from "./services-api-mocks/getStatus.mock"; test.use({ userdata: "1AccountBTC1AccountETH", + // env: { DEV_TOOLS: true }, }); // Tests to cover in Playwright test suite @@ -142,9 +143,6 @@ test.describe.parallel("Swap", () => { const drawer = new Drawer(page); const layout = new Layout(page); - let swapId: string; - let detailsSwapId: string; - await page.route("https://swap.ledger.com/v4/providers**", async route => { const mockProvidersResponse = getProvidersMock(); route.fulfill({ headers: { teststatus: "mocked" }, body: mockProvidersResponse }); @@ -221,16 +219,22 @@ test.describe.parallel("Swap", () => { await test.step("Confirm swap with Nano App", async () => { await deviceAction.confirmSwap(); await deviceAction.silentSign(); - const originalSwapId = await swapPage.verifySuccessfulExchange(); - swapId = originalSwapId.replace("#", ""); + await swapPage.waitForSuccessfulExchange(); + await expect.soft(swapPage.swapId).toHaveText("#12345"); await expect.soft(drawer.content).toHaveScreenshot("confirmed-swap.png"); }); await test.step("Verify Swap details are present in the exchange drawer", async () => { await swapPage.navigateToExchangeDetails(); - detailsSwapId = await swapPage.verifyExchangeDetails(); - await expect(detailsSwapId).toEqual(swapId); - await expect.soft(drawer.content).toHaveScreenshot("verify-swap-details.png"); + await swapPage.waitForExchangeDetails(); + await expect.soft(swapPage.detailsSwapId).toHaveText("12345"); + await expect.soft(drawer.swapAmountFrom).toContainText("-1.280"); // regex /-1.280\d+ BTC/ not working with toHaveText() and value can change after the first 3 decimals so this will have to do for now - see LIVE-8642 + await expect.soft(drawer.swapAmountTo).toContainText("+17.898"); + await expect.soft(drawer.swapAccountFrom).toHaveText("Bitcoin 2 (legacy)"); + await expect.soft(drawer.swapAccountTo).toHaveText("Ethereum 2"); + + // Flaky due to LIVE-8642 - the formatting is sometimes different values - therefore we are doing the above text checks + // await expect.soft(drawer.content).toHaveScreenshot("verify-swap-details.png"); }); await test.step("Verify Swap details are present in the swap history", async () => { diff --git a/libs/coin-framework/src/currencies/formatCurrencyUnit.ts b/libs/coin-framework/src/currencies/formatCurrencyUnit.ts index 0750abdfce23..004277f60e26 100644 --- a/libs/coin-framework/src/currencies/formatCurrencyUnit.ts +++ b/libs/coin-framework/src/currencies/formatCurrencyUnit.ts @@ -112,6 +112,7 @@ export function formatCurrencyUnitFragment( ), ), ); + const fragValueByKind = { sign: alwaysShowSign || floatValue.isNegative() ? (floatValue.isNegative() ? "-" : "+") : null, code: showCode ? code : null, @@ -141,6 +142,18 @@ export function formatCurrencyUnitFragment( }); frags.splice(nonSepIndex + 1); // remove extra space at the end + // if ( + // frags.some(frag => { + // // frag.value === "ETH"; + // }) + // ) { + console.log("FRAGSSSS", frags); + console.log("show all digits?", showAllDigits); + console.log("disable rounding?", disableRounding); + console.log("minimum fraction digits: ", minimumFractionDigits); + console.log("maximum fraction digits: ", maximumFractionDigits); + // } + return frags; } // simplification of formatCurrencyUnitFragment if no fragmented styles is needed From a63c3c5f7ba8e129fb8d60467da69c55cea20e11 Mon Sep 17 00:00:00 2001 From: Gregor Gilchrist Date: Thu, 20 Jul 2023 15:38:58 +0200 Subject: [PATCH 2/4] chore: put disableRounding back in chore: remove pause fix: renamed analytics page property to path chore: removing console logs --- .../renderer/drawers/SwapOperationDetails/index.tsx | 8 ++++---- .../tests/specs/services/ethereumStaking.spec.ts | 1 - .../src/currencies/formatCurrencyUnit.ts | 13 ------------- 3 files changed, 4 insertions(+), 18 deletions(-) diff --git a/apps/ledger-live-desktop/src/renderer/drawers/SwapOperationDetails/index.tsx b/apps/ledger-live-desktop/src/renderer/drawers/SwapOperationDetails/index.tsx index ec6fc8c47186..257c47ecb664 100644 --- a/apps/ledger-live-desktop/src/renderer/drawers/SwapOperationDetails/index.tsx +++ b/apps/ledger-live-desktop/src/renderer/drawers/SwapOperationDetails/index.tsx @@ -167,7 +167,7 @@ const SwapOperationDetails = ({ showCode val={normalisedFromAmount} fontSize={6} - // disableRounding + disableRounding data-test-id="swap-amount-from" /> @@ -182,7 +182,7 @@ const SwapOperationDetails = ({ showCode val={toAmount} fontSize={6} - // disableRounding + disableRounding color={statusColor} data-test-id="swap-amount-to" /> @@ -300,7 +300,7 @@ const SwapOperationDetails = ({ unit={fromUnit} showCode val={fromAmount} - // disableRounding + disableRounding color={"palette.text.shade50"} /> @@ -343,7 +343,7 @@ const SwapOperationDetails = ({ showCode val={toAmount} fontSize={6} - // disableRounding + disableRounding color={"palette.text.shade50"} /> diff --git a/apps/ledger-live-desktop/tests/specs/services/ethereumStaking.spec.ts b/apps/ledger-live-desktop/tests/specs/services/ethereumStaking.spec.ts index 7af78051a29e..6c6dc6633b93 100644 --- a/apps/ledger-live-desktop/tests/specs/services/ethereumStaking.spec.ts +++ b/apps/ledger-live-desktop/tests/specs/services/ethereumStaking.spec.ts @@ -104,7 +104,6 @@ test("Ethereum staking flows via portfolio, asset page and market page", async ( }); await test.step("choose Kiln", async () => { - await page.pause(); const analyticsPromise = analytics.waitForTracking({ event: "button_clicked", properties: { diff --git a/libs/coin-framework/src/currencies/formatCurrencyUnit.ts b/libs/coin-framework/src/currencies/formatCurrencyUnit.ts index 004277f60e26..0750abdfce23 100644 --- a/libs/coin-framework/src/currencies/formatCurrencyUnit.ts +++ b/libs/coin-framework/src/currencies/formatCurrencyUnit.ts @@ -112,7 +112,6 @@ export function formatCurrencyUnitFragment( ), ), ); - const fragValueByKind = { sign: alwaysShowSign || floatValue.isNegative() ? (floatValue.isNegative() ? "-" : "+") : null, code: showCode ? code : null, @@ -142,18 +141,6 @@ export function formatCurrencyUnitFragment( }); frags.splice(nonSepIndex + 1); // remove extra space at the end - // if ( - // frags.some(frag => { - // // frag.value === "ETH"; - // }) - // ) { - console.log("FRAGSSSS", frags); - console.log("show all digits?", showAllDigits); - console.log("disable rounding?", disableRounding); - console.log("minimum fraction digits: ", minimumFractionDigits); - console.log("maximum fraction digits: ", maximumFractionDigits); - // } - return frags; } // simplification of formatCurrencyUnitFragment if no fragmented styles is needed From d63ba40053f246b04cfe427e1de3a25391438685 Mon Sep 17 00:00:00 2001 From: Gregor Gilchrist Date: Thu, 20 Jul 2023 16:54:31 +0200 Subject: [PATCH 3/4] test: making eth test mandatory in smoke tests --- .../tests/specs/services/ethereumStaking.spec.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/ledger-live-desktop/tests/specs/services/ethereumStaking.spec.ts b/apps/ledger-live-desktop/tests/specs/services/ethereumStaking.spec.ts index 6c6dc6633b93..ce2458f04101 100644 --- a/apps/ledger-live-desktop/tests/specs/services/ethereumStaking.spec.ts +++ b/apps/ledger-live-desktop/tests/specs/services/ethereumStaking.spec.ts @@ -65,7 +65,9 @@ test.use({ }, }); -test("Ethereum staking flows via portfolio, asset page and market page", async ({ page }) => { +test("Ethereum staking flows via portfolio, asset page and market page @smoke", async ({ + page, +}) => { const portfolioPage = new PortfolioPage(page); const drawer = new Drawer(page); const modal = new Modal(page); From 8ed995a09cf73c44c3b735f08cd0f3daa0326770 Mon Sep 17 00:00:00 2001 From: Gregor Gilchrist Date: Thu, 20 Jul 2023 17:01:52 +0200 Subject: [PATCH 4/4] chore: removed comment --- apps/ledger-live-desktop/tests/specs/services/swap.spec.ts | 1 - 1 file changed, 1 deletion(-) 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 4f4b84c73dec..9ac23cc23de2 100644 --- a/apps/ledger-live-desktop/tests/specs/services/swap.spec.ts +++ b/apps/ledger-live-desktop/tests/specs/services/swap.spec.ts @@ -17,7 +17,6 @@ import { getStatusMock } from "./services-api-mocks/getStatus.mock"; test.use({ userdata: "1AccountBTC1AccountETH", - // env: { DEV_TOOLS: true }, }); // Tests to cover in Playwright test suite