diff --git a/packages/desktop-client/README.md b/packages/desktop-client/README.md index bb300e84d07..2c6572f9fed 100644 --- a/packages/desktop-client/README.md +++ b/packages/desktop-client/README.md @@ -42,10 +42,10 @@ Next, navigate to the root of your project folder, run the standartised docker c ```sh # Run docker container -docker run --rm --network host -v $(pwd):/work/ -w /work/ -it mcr.microsoft.com/playwright:v1.40.1-jammy /bin/bash +docker run --rm --network host -v $(pwd):/work/ -w /work/ -it mcr.microsoft.com/playwright:v1.37.1-jammy /bin/bash # If you receive an error such as "docker: invalid reference format", please instead use the following command: - docker run --rm --network host -v ${pwd}:/work/ -w /work/ -it mcr.microsoft.com/playwright:v1.40.1-jammy /bin/bash + docker run --rm --network host -v ${pwd}:/work/ -w /work/ -it mcr.microsoft.com/playwright:v1.37.1-jammy /bin/bash # Run the VRT tests: important - they MUST be ran against a HTTPS server E2E_START_URL=https://192.168.0.178:3001 yarn vrt diff --git a/packages/desktop-client/e2e/accounts.test.js b/packages/desktop-client/e2e/accounts.test.js index 70179545b5e..45ca7096a28 100644 --- a/packages/desktop-client/e2e/accounts.test.js +++ b/packages/desktop-client/e2e/accounts.test.js @@ -14,7 +14,7 @@ test.describe('Accounts', () => { configurationPage = new ConfigurationPage(page); await page.goto('/'); - await configurationPage.createDemoFile(); + await configurationPage.createTestFile(); }); test.afterAll(async () => { diff --git a/packages/desktop-client/e2e/budget.test.js b/packages/desktop-client/e2e/budget.test.js index 03781b923f1..630d6d87a76 100644 --- a/packages/desktop-client/e2e/budget.test.js +++ b/packages/desktop-client/e2e/budget.test.js @@ -12,7 +12,7 @@ test.describe('Budget', () => { configurationPage = new ConfigurationPage(page); await page.goto('/'); - budgetPage = await configurationPage.createDemoFile(); + budgetPage = await configurationPage.createTestFile(); // Move mouse to corner of the screen; // sometimes the mouse hovers on a budget element thus rendering an input box diff --git a/packages/desktop-client/e2e/mobile.test.js b/packages/desktop-client/e2e/mobile.test.js index fe2b2ba82ca..b67a03e4243 100644 --- a/packages/desktop-client/e2e/mobile.test.js +++ b/packages/desktop-client/e2e/mobile.test.js @@ -18,7 +18,7 @@ test.describe('Mobile', () => { height: 600, }); await page.goto('/'); - await configurationPage.createDemoFile(); + await configurationPage.createTestFile(); }); test.afterEach(async () => { diff --git a/packages/desktop-client/e2e/onboarding.test.js-snapshots/Onboarding-checks-the-page-visuals-1-chromium-linux.png b/packages/desktop-client/e2e/onboarding.test.js-snapshots/Onboarding-checks-the-page-visuals-1-chromium-linux.png index 7459bd1a52e..3e749d86c6a 100644 Binary files a/packages/desktop-client/e2e/onboarding.test.js-snapshots/Onboarding-checks-the-page-visuals-1-chromium-linux.png and b/packages/desktop-client/e2e/onboarding.test.js-snapshots/Onboarding-checks-the-page-visuals-1-chromium-linux.png differ diff --git a/packages/desktop-client/e2e/onboarding.test.js-snapshots/Onboarding-checks-the-page-visuals-2-chromium-linux.png b/packages/desktop-client/e2e/onboarding.test.js-snapshots/Onboarding-checks-the-page-visuals-2-chromium-linux.png index c24d0b8be99..d282442e862 100644 Binary files a/packages/desktop-client/e2e/onboarding.test.js-snapshots/Onboarding-checks-the-page-visuals-2-chromium-linux.png and b/packages/desktop-client/e2e/onboarding.test.js-snapshots/Onboarding-checks-the-page-visuals-2-chromium-linux.png differ diff --git a/packages/desktop-client/e2e/onboarding.test.js-snapshots/Onboarding-checks-the-page-visuals-3-chromium-linux.png b/packages/desktop-client/e2e/onboarding.test.js-snapshots/Onboarding-checks-the-page-visuals-3-chromium-linux.png index ed62336bdf9..32f89ebccab 100644 Binary files a/packages/desktop-client/e2e/onboarding.test.js-snapshots/Onboarding-checks-the-page-visuals-3-chromium-linux.png and b/packages/desktop-client/e2e/onboarding.test.js-snapshots/Onboarding-checks-the-page-visuals-3-chromium-linux.png differ diff --git a/packages/desktop-client/e2e/onboarding.test.js-snapshots/Onboarding-checks-the-page-visuals-4-chromium-linux.png b/packages/desktop-client/e2e/onboarding.test.js-snapshots/Onboarding-checks-the-page-visuals-4-chromium-linux.png index b3cea84a41e..0f71093688d 100644 Binary files a/packages/desktop-client/e2e/onboarding.test.js-snapshots/Onboarding-checks-the-page-visuals-4-chromium-linux.png and b/packages/desktop-client/e2e/onboarding.test.js-snapshots/Onboarding-checks-the-page-visuals-4-chromium-linux.png differ diff --git a/packages/desktop-client/e2e/page-models/configuration-page.js b/packages/desktop-client/e2e/page-models/configuration-page.js index 828844a6585..3b5e8c6c99e 100644 --- a/packages/desktop-client/e2e/page-models/configuration-page.js +++ b/packages/desktop-client/e2e/page-models/configuration-page.js @@ -7,8 +7,8 @@ export class ConfigurationPage { this.heading = page.getByRole('heading'); } - async createDemoFile() { - await this.page.getByRole('button', { name: 'Create demo file' }).click(); + async createTestFile() { + await this.page.getByRole('button', { name: 'Create test file' }).click(); return new BudgetPage(this.page); } diff --git a/packages/desktop-client/e2e/reports.test.js b/packages/desktop-client/e2e/reports.test.js index d9d64c16b39..1dc4b88047a 100644 --- a/packages/desktop-client/e2e/reports.test.js +++ b/packages/desktop-client/e2e/reports.test.js @@ -15,7 +15,7 @@ test.describe('Reports', () => { configurationPage = new ConfigurationPage(page); await page.goto('/'); - await configurationPage.createDemoFile(); + await configurationPage.createTestFile(); }); test.afterAll(async () => { diff --git a/packages/desktop-client/e2e/rules.test.js b/packages/desktop-client/e2e/rules.test.js index a7465e6f900..4de98db6dfb 100644 --- a/packages/desktop-client/e2e/rules.test.js +++ b/packages/desktop-client/e2e/rules.test.js @@ -15,7 +15,7 @@ test.describe('Rules', () => { configurationPage = new ConfigurationPage(page); await page.goto('/'); - await configurationPage.createDemoFile(); + await configurationPage.createTestFile(); }); test.afterAll(async () => { diff --git a/packages/desktop-client/e2e/schedules.test.js b/packages/desktop-client/e2e/schedules.test.js index f504613a60a..770f0e6ad77 100644 --- a/packages/desktop-client/e2e/schedules.test.js +++ b/packages/desktop-client/e2e/schedules.test.js @@ -15,7 +15,7 @@ test.describe('Schedules', () => { configurationPage = new ConfigurationPage(page); await page.goto('/'); - await configurationPage.createDemoFile(); + await configurationPage.createTestFile(); }); test.afterAll(async () => { diff --git a/packages/desktop-client/e2e/settings.test.js b/packages/desktop-client/e2e/settings.test.js index 5ca64155070..bc8029eff46 100644 --- a/packages/desktop-client/e2e/settings.test.js +++ b/packages/desktop-client/e2e/settings.test.js @@ -15,7 +15,7 @@ test.describe('Settings', () => { configurationPage = new ConfigurationPage(page); await page.goto('/'); - await configurationPage.createDemoFile(); + await configurationPage.createTestFile(); }); test.afterAll(async () => { diff --git a/packages/desktop-client/e2e/transactions.test.js b/packages/desktop-client/e2e/transactions.test.js index 2692d3a1286..2d2f40dbfc1 100644 --- a/packages/desktop-client/e2e/transactions.test.js +++ b/packages/desktop-client/e2e/transactions.test.js @@ -15,7 +15,7 @@ test.describe('Transactions', () => { configurationPage = new ConfigurationPage(page); await page.goto('/'); - await configurationPage.createDemoFile(); + await configurationPage.createTestFile(); }); test.afterAll(async () => { diff --git a/packages/desktop-client/src/components/manager/BudgetList.jsx b/packages/desktop-client/src/components/manager/BudgetList.jsx index 160ad9d5802..4ca30a41800 100644 --- a/packages/desktop-client/src/components/manager/BudgetList.jsx +++ b/packages/desktop-client/src/components/manager/BudgetList.jsx @@ -2,6 +2,7 @@ import React, { useState, useRef } from 'react'; import { useSelector } from 'react-redux'; import * as actions from 'loot-core/src/client/actions'; +import { isNonProductionEnvironment } from 'loot-core/src/shared/environment'; import { useActions } from '../../hooks/useActions'; import { AnimatedLoading } from '../../icons/AnimatedLoading'; @@ -337,14 +338,16 @@ export function BudgetList() { Create new file + {isNonProductionEnvironment() && ( + )} ); diff --git a/packages/desktop-client/src/components/manager/ConfigServer.tsx b/packages/desktop-client/src/components/manager/ConfigServer.tsx index d6fe355d89e..262565dda54 100644 --- a/packages/desktop-client/src/components/manager/ConfigServer.tsx +++ b/packages/desktop-client/src/components/manager/ConfigServer.tsx @@ -1,6 +1,9 @@ import React, { useState, useEffect } from 'react'; -import { isElectron } from 'loot-core/src/shared/environment'; +import { + isNonProductionEnvironment, + isElectron, +} from 'loot-core/src/shared/environment'; import { useActions } from '../../hooks/useActions'; import { useNavigate } from '../../hooks/useNavigate'; @@ -79,7 +82,7 @@ export function ConfigServer() { navigate('/'); } - async function oncreateDemoFile() { + async function onCreateTestFile() { await setServerUrl(null); await createBudget({ testMode: true }); window.__navigate('/'); @@ -194,13 +197,15 @@ export function ConfigServer() { Don’t use a server - + {isNonProductionEnvironment() && ( + + )} )} diff --git a/packages/desktop-client/src/components/manager/WelcomeScreen.tsx b/packages/desktop-client/src/components/manager/WelcomeScreen.tsx index 564fc586717..9d13d9dd242 100644 --- a/packages/desktop-client/src/components/manager/WelcomeScreen.tsx +++ b/packages/desktop-client/src/components/manager/WelcomeScreen.tsx @@ -50,8 +50,8 @@ export function WelcomeScreen() { Get started by importing an existing budget file from Actual or - another budgeting app, or start fresh with an empty budget. You can - always create or import another budget later. + another budgeting app, create a demo budget file, or start fresh with + an empty budget. You can always create or import another budget later. - + + + + );