mirror of
https://github.com/actualbudget/actual.git
synced 2026-03-11 20:44:32 -05:00
* useTransactions hook to load transactions * Release notes + lint fix * Update useQuery * useTransactions update * Stabilize tests * Fx flaky test * Fix tests * Fix tests * Update queries * Apply coderabbit suggestions * Fix onlySync * Update useTransactions * Code rabbit suggestions * useTransactionsSearch hook * Debounce the useTransactionsSearch search method * usePreviewTransactions debounce fix * Fix lint * Coderabbit feedback + make useSchedules consistent with query pattern used in useTransactions * Code review feedback and improve schedules loading * Update error handling * Cancel debounce on unmount * Fix lint * set loading state on error * Fix test * VRT * Revert VRT --------- Co-authored-by: Matt Fiddaman <github@m.fiddaman.uk>
65 lines
2.1 KiB
JavaScript
65 lines
2.1 KiB
JavaScript
import { test, expect } from '@playwright/test';
|
|
|
|
import { ConfigurationPage } from './page-models/configuration-page';
|
|
import { MobileNavigation } from './page-models/mobile-navigation';
|
|
|
|
test.describe('Mobile Accounts', () => {
|
|
let page;
|
|
let navigation;
|
|
let configurationPage;
|
|
|
|
test.beforeEach(async ({ browser }) => {
|
|
page = await browser.newPage();
|
|
navigation = new MobileNavigation(page);
|
|
configurationPage = new ConfigurationPage(page);
|
|
|
|
await page.setViewportSize({
|
|
width: 350,
|
|
height: 600,
|
|
});
|
|
await page.goto('/');
|
|
await configurationPage.createTestFile();
|
|
});
|
|
|
|
test.afterEach(async () => {
|
|
await page.close();
|
|
});
|
|
|
|
test('opens the accounts page and asserts on balances', async () => {
|
|
const accountsPage = await navigation.goToAccountsPage();
|
|
await accountsPage.waitFor();
|
|
|
|
const account = await accountsPage.getNthAccount(1);
|
|
|
|
await expect(account.name).toHaveText('Ally Savings');
|
|
await expect(account.balance).toHaveText('7,653.00');
|
|
await expect(page).toMatchThemeScreenshots();
|
|
});
|
|
|
|
test('opens individual account page and checks that filtering is working', async () => {
|
|
const accountsPage = await navigation.goToAccountsPage();
|
|
await accountsPage.waitFor();
|
|
|
|
const accountPage = await accountsPage.openNthAccount(0);
|
|
await accountPage.waitFor();
|
|
|
|
await expect(accountPage.heading).toHaveText('Bank of America');
|
|
await expect(accountPage.transactionList).toBeVisible();
|
|
await expect(await accountPage.getBalance()).toBeGreaterThan(0);
|
|
await expect(accountPage.noTransactionsMessage).not.toBeVisible();
|
|
await expect(page).toMatchThemeScreenshots();
|
|
|
|
await accountPage.searchByText('nothing should be found');
|
|
await expect(accountPage.noTransactionsMessage).toBeVisible();
|
|
await expect(accountPage.transactions).toHaveCount(0);
|
|
await expect(page).toMatchThemeScreenshots();
|
|
|
|
await accountPage.clearSearch();
|
|
await expect(accountPage.transactions).not.toHaveCount(0);
|
|
|
|
await accountPage.searchByText('Kroger');
|
|
await expect(accountPage.transactions).not.toHaveCount(0);
|
|
await expect(page).toMatchThemeScreenshots();
|
|
});
|
|
});
|