test(tours): expect the time estimate on imported tours and hikes without a time

Since the estimate rule, an import without its own time shows the worked-out estimate on the day plan tile, and the sidebar metrics lead with it. Add the estimate field to the RS-01 fixture.
This commit is contained in:
Maurice
2026-10-20 21:11:43 +02:00
parent 93e1156aa4
commit 6c6e285c3d
2 changed files with 9 additions and 3 deletions
@@ -188,6 +188,7 @@ describe('DayPlanSidebar', () => {
manuallyOverridden: false,
walk: null,
atLeast: false,
estimate: null,
};
const props = makeDefaultProps({
days: [day],
@@ -322,7 +323,10 @@ describe('DayPlanSidebar', () => {
render(<DayPlanSidebar {...props} />);
expect(screen.getByTestId('plan-tour-icon').querySelector('.lucide-mountain')).toBeTruthy();
expect(screen.queryByTestId('trip-plan-tour-time')).not.toBeInTheDocument();
// TIME-01: without a time of its own the import shows its estimate, worked out from its measures.
const time = screen.getByTestId('trip-plan-tour-time');
expect(time).toHaveTextContent('≈ 2 h 21 min');
expect(time).toHaveAccessibleName(expect.stringContaining('Estimated time: 2 h 21 min'));
});
it('RC-01: a tour row offers no booking, a tour is not booked', () => {
@@ -123,8 +123,10 @@ describe('ToursSidebar', () => {
expect(metrics).toHaveTextContent('1.9 km')
expect(metrics).toHaveTextContent('13 m')
const labels = [...metrics.querySelectorAll('[aria-label]')].map(element => element.getAttribute('aria-label'))
expect(labels[0]).toContain('1.9 km')
expect(labels[1]).toContain('13 m')
// TIME-01: a hike without a time of its own leads with its estimate, then distance and climbing.
expect(labels[0]).toMatch(/(Estimated time|Geschätzte Zeit): 30 min/)
expect(labels[1]).toContain('1.9 km')
expect(labels[2]).toContain('13 m')
expect(within(row).queryByText('TREK')).not.toBeInTheDocument()
expect(screen.getByLabelText(/Maximum trail difficulty|Maximale Wanderschwierigkeit|T2/)).toBeInTheDocument()
const actionRow = row.querySelector('[data-testid="tour-action-row"]')!