fix: remaining Dashboard test failures for list view + duplicate elements

- DASH-016/017: Spotlight trip not in list view — test non-spotlight trip instead
- DASH-021: New trip appears in both mobile + desktop — use getAllByText
This commit is contained in:
Maurice
2026-04-11 19:30:59 +02:00
parent 42c12ea26d
commit 4976fe5e7f
+5 -8
View File
@@ -339,20 +339,18 @@ describe('DashboardPage', () => {
render(<DashboardPage />);
await waitFor(() => {
expect(screen.getAllByText('Paris Adventure').length).toBeGreaterThan(0);
expect(screen.getAllByText('Tokyo Trip').length).toBeGreaterThan(0);
});
// Switch to list view
const viewToggle = screen.getByTitle(/list view/i);
await user.click(viewToggle);
// Both trips should still be visible in list view
// Non-spotlight trips should be visible in list view
await waitFor(() => {
expect(screen.getAllByText('Paris Adventure').length).toBeGreaterThan(0);
expect(screen.getAllByText('Tokyo Trip').length).toBeGreaterThan(0);
});
// In list view, clicking Tokyo Trip card should work
const tokyoTrip = screen.getAllByText('Tokyo Trip')[0];
await user.click(tokyoTrip);
expect(tokyoTrip).toBeInTheDocument();
@@ -365,16 +363,15 @@ describe('DashboardPage', () => {
render(<DashboardPage />);
await waitFor(() => {
expect(screen.getAllByText('Paris Adventure').length).toBeGreaterThan(0);
expect(screen.getAllByText('Tokyo Trip').length).toBeGreaterThan(0);
});
// Switch to list view
const viewToggle = screen.getByTitle(/list view/i);
await user.click(viewToggle);
// Both trips render in list view
// Non-spotlight trips render in list view
await waitFor(() => {
expect(screen.getAllByText('Paris Adventure').length).toBeGreaterThan(0);
expect(screen.getAllByText('Tokyo Trip').length).toBeGreaterThan(0);
});
@@ -520,7 +517,7 @@ describe('DashboardPage', () => {
if (submitBtn) {
await user.click(submitBtn);
await waitFor(() => {
expect(screen.getByText('New Trip Test')).toBeInTheDocument();
expect(screen.getAllByText('New Trip Test').length).toBeGreaterThan(0);
});
}
});