/**
 * @vitest-environment happy-dom
 */
import { describe, expect, it, vi } from 'vitest';
import { render, screen } from '@testing-library/react';
import ForgeDispenseReveal from './ForgeDispenseReveal';

vi.mock('../../context/AmbientMusicContext', () => ({
  useModalAmbientDuck: () => {},
}));

vi.mock('../../context/SoundContext', () => ({
  useSound: () => ({ play: vi.fn() }),
}));

vi.mock('../DownloadButton', () => ({
  default: ({ children }: { children: React.ReactNode }) => <button type="button">{children}</button>,
}));

describe('ForgeDispenseReveal', () => {
  it('shows Forged title on successful forge', () => {
    render(
      <ForgeDispenseReveal
        result={{
          success: true,
          file_name: 'worker.exe',
          download_url: '/api/v1/builds/x/download',
          stealth_score: 72,
        }}
        onClose={() => {}}
      />,
    );
    expect(screen.getByRole('heading', { name: 'Forged' })).toBeInTheDocument();
    expect(screen.queryByText('Dispensed')).not.toBeInTheDocument();
  });
});
