mirror of
https://github.com/solidtime-io/solidtime.git
synced 2026-10-14 00:33:17 +01:00
add date range navigation, unify picker components
This commit is contained in:
@@ -252,19 +252,19 @@ test('test that calendar page loads and displays time entries', async ({ page, c
|
||||
test('test that calendar navigation buttons work', async ({ page }) => {
|
||||
await goToCalendar(page);
|
||||
await expect(page.locator('.fc')).toBeVisible();
|
||||
await expect(page.getByTestId('calendar-title')).toContainText('This Week');
|
||||
|
||||
// Click the "next" button to navigate forward
|
||||
await page.getByRole('button', { name: 'Next' }).click();
|
||||
await expect(page.locator('.fc')).toBeVisible();
|
||||
|
||||
// Click the "prev" button to navigate back
|
||||
// Navigate between named periods.
|
||||
await page.getByRole('button', { name: 'Previous' }).click();
|
||||
await expect(page.locator('.fc')).toBeVisible();
|
||||
|
||||
// Navigate forward first, then click today
|
||||
await expect(page.getByTestId('calendar-title')).toContainText('Last Week');
|
||||
await page.getByRole('button', { name: 'Next' }).click();
|
||||
await expect(page.getByTestId('calendar-title')).toContainText('This Week');
|
||||
|
||||
// Navigate forward first, then use the range button to return to today.
|
||||
await page.getByRole('button', { name: 'Next' }).click();
|
||||
await expect(page.getByTestId('calendar-title')).toContainText('Next Week');
|
||||
await page.getByRole('button', { name: 'today' }).click();
|
||||
await expect(page.locator('.fc')).toBeVisible();
|
||||
await expect(page.getByTestId('calendar-title')).toContainText('This Week');
|
||||
});
|
||||
|
||||
test('test that editing time entry description via calendar modal works', async ({ page, ctx }) => {
|
||||
|
||||
@@ -18,6 +18,25 @@ import {
|
||||
// Each test registers a new user and creates test data via API
|
||||
test.describe.configure({ timeout: 30000 });
|
||||
|
||||
test('date range picker labels and navigates reporting periods', async ({ page }) => {
|
||||
await goToReporting(page);
|
||||
|
||||
const range = page.getByTestId('date_range_picker_display');
|
||||
const previous = page.getByTestId('date_range_picker_previous');
|
||||
const next = page.getByTestId('date_range_picker_next');
|
||||
|
||||
await expect(range).toContainText('Last 14 Days');
|
||||
await expect(next).toBeDisabled();
|
||||
|
||||
await Promise.all([waitForReportingUpdate(page), previous.click()]);
|
||||
await expect(range).not.toContainText('Last 14 Days');
|
||||
|
||||
// The initial reporting range is still fresh in Vue Query's cache, so returning to it
|
||||
// does not necessarily trigger another aggregate request.
|
||||
await next.click();
|
||||
await expect(range).toContainText('Last 14 Days');
|
||||
});
|
||||
|
||||
// ──────────────────────────────────────────────────
|
||||
// Project Multiselect Dropdown Tests
|
||||
// ──────────────────────────────────────────────────
|
||||
|
||||
@@ -409,20 +409,20 @@ test('navigating to previous week shows entries from that week', async ({ page,
|
||||
test('can navigate forward and return to current week', async ({ page }) => {
|
||||
await Promise.all([goToTimesheet(page), waitForTimesheetLoad(page)]);
|
||||
|
||||
// Should show "This week"
|
||||
await expect(page.getByTestId('timesheet_week_display')).toContainText('This week');
|
||||
// Should show "This Week"
|
||||
await expect(page.getByTestId('timesheet_week_display')).toContainText('This Week');
|
||||
|
||||
// Go to next week — the text assertions below auto-retry until the
|
||||
// header label flips.
|
||||
await page.getByTestId('timesheet_next_week').click();
|
||||
|
||||
// Should no longer show "This week"
|
||||
await expect(page.getByTestId('timesheet_week_display')).not.toContainText('This week');
|
||||
// Should no longer show "This Week"
|
||||
await expect(page.getByTestId('timesheet_week_display')).not.toContainText('This Week');
|
||||
|
||||
// Go back to this week
|
||||
await page.getByTestId('timesheet_week_display').click();
|
||||
|
||||
await expect(page.getByTestId('timesheet_week_display')).toContainText('This week');
|
||||
await expect(page.getByTestId('timesheet_week_display')).toContainText('This Week');
|
||||
});
|
||||
|
||||
// ──────────────────────────────────────────────────
|
||||
|
||||
Reference in New Issue
Block a user