Some checks failed
CI Docker Mining Proof / Linux agent hashrate proof (push) Has been cancelled
Replace Dispensed with Forged in the reveal modal, poll builder/progress with indeterminate-until-first-byte UX, and emit interpolated compile progress during long garble builds.
37 lines
1.0 KiB
TypeScript
37 lines
1.0 KiB
TypeScript
/**
|
|
* @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();
|
|
});
|
|
});
|