change e2e tests to use organization default values for money formatting

This commit is contained in:
Gregor Vostrak
2025-05-09 18:34:23 +02:00
parent 68f636c8ff
commit 02a8367d16
4 changed files with 26 additions and 18 deletions

View File

@@ -27,9 +27,11 @@ test('test that organization billable rate can be updated with all existing time
.getByLabel('Organization Billable Rate')
.fill(newBillableRate.toString());
await page
.locator('button')
.filter({ hasText: /^Save$/ })
.locator('form')
.filter({ hasText: 'Organization Billable' })
.getByRole('button')
.click();
await Promise.all([
page
.getByRole('button', { name: 'Yes, update existing time entries' })

View File

@@ -1,8 +1,9 @@
import { expect, Page } from '@playwright/test';
import { PLAYWRIGHT_BASE_URL } from '../playwright/config';
import { test } from '../playwright/fixtures';
import { formatCents, getOrganizationCurrencySymbol } from '../resources/js/packages/ui/src/utils/money';
import { formatCentsWithOrganizationDefaults } from './utils/money';
import type { CurrencyFormat } from '../resources/js/packages/ui/src/utils/money';
import { NumberFormat } from '@/packages/ui/src/utils/number';
async function goToProjectsOverview(page: Page) {
await page.goto(PLAYWRIGHT_BASE_URL + '/projects');
@@ -62,12 +63,6 @@ test('test that updating project member billable rate works for existing time en
page
.getByRole('row')
.first()
.getByText(formatCents(
newBillableRate * 100,
'EUR',
'symbol-before' as CurrencyFormat,
'€',
'space-point'
))
.getByText(formatCentsWithOrganizationDefaults(newBillableRate * 100))
).toBeVisible();
});

View File

@@ -1,7 +1,7 @@
import { expect, Page } from '@playwright/test';
import { PLAYWRIGHT_BASE_URL } from '../playwright/config';
import { test } from '../playwright/fixtures';
import { formatCents, getOrganizationCurrencySymbol } from '../resources/js/packages/ui/src/utils/money';
import { formatCentsWithOrganizationDefaults } from './utils/money';
import type { CurrencyFormat } from '../resources/js/packages/ui/src/utils/money';
async function goToProjectsOverview(page: Page) {
@@ -132,13 +132,7 @@ test('test that updating billable rate works with existing time entries', async
page
.getByRole('row')
.first()
.getByText(formatCents(
newBillableRate * 100,
'EUR',
'symbol-before' as CurrencyFormat,
'€',
'space-point'
))
.getByText(formatCentsWithOrganizationDefaults(newBillableRate * 100))
).toBeVisible();
});

17
e2e/utils/money.ts Normal file
View File

@@ -0,0 +1,17 @@
import { formatCents } from '../../resources/js/packages/ui/src/utils/money';
import type { CurrencyFormat } from '../../resources/js/packages/ui/src/utils/money';
import { NumberFormat } from '../../resources/js/packages/ui/src/utils/number';
export function formatCentsWithOrganizationDefaults(
cents: number,
currencyCode: string = 'EUR',
currencySymbol: string = '€'
): string {
return formatCents(
cents,
currencyCode,
'iso-code-after-with-space' as CurrencyFormat,
currencySymbol,
'point-comma' as NumberFormat
);
}