import { describe, it, expect, beforeEach, afterEach } from 'vitest';
import type { StepHarness } from '../support/StepHarness';
import { createStepHarness } from '../support/StepHarness';

describe('Step 18 – track conditions (manual stop)', () => {
  let harness: StepHarness;

  beforeEach(async () => {
    harness = await createStepHarness();
  });

  afterEach(async () => {
    await harness.dispose();
  });

  it('treats Track Conditions as manual stop without invoking automation step 18', async () => {
    await harness.navigateToFixtureStep(18);

    const page = harness.adapter.getPage();
    expect(page).not.toBeNull();

    const sidebarTrackConditions = await page!.textContent(
      '#wizard-sidebar-link-set-track-conditions',
    );
    expect(sidebarTrackConditions).toContain('Track Conditions');

    const trackConditionsContainer = page!.locator('#set-track-conditions').first();
    expect(await trackConditionsContainer.count()).toBeGreaterThan(0);

    const bodyText = await page!.textContent('body');
    expect(bodyText).toMatch(/Track Conditions|Starting Track State/i);
  });
});