import { describe, it, expect, beforeEach, afterEach } from 'vitest'; import type { StepHarness } from '../support/StepHarness'; import { createStepHarness } from '../support/StepHarness'; import { IRACING_SELECTORS } from 'packages/automation/infrastructure/adapters/automation/dom/IRacingSelectors'; describe('Step 13 – track options', () => { let harness: StepHarness; beforeEach(async () => { harness = await createStepHarness(); }); afterEach(async () => { await harness.dispose(); }); it('executes on Track Options page in mock wizard', async () => { await harness.navigateToFixtureStep(13); const page = harness.adapter.getPage(); expect(page).not.toBeNull(); const sidebarTrackOptions = await page! .locator(IRACING_SELECTORS.wizard.sidebarLinks.trackOptions) .first() .innerText(); expect(sidebarTrackOptions).toMatch(/Track Options/i); const trackOptionsContainer = page! .locator(IRACING_SELECTORS.wizard.stepContainers.trackOptions) .first(); expect(await trackOptionsContainer.count()).toBeGreaterThan(0); const bodyText = await page!.textContent('body'); expect(bodyText).toContain('Create Starting Grid'); const result = await harness.executeStep(13, {}); expect(result.success).toBe(true); expect(result.error).toBeUndefined(); }); });