Add phenotype cloning, failure atlas, AI court session, and clearance L0-L4
Some checks failed
CI Docker Mining Proof / Linux agent hashrate proof (push) Has been cancelled
Some checks failed
CI Docker Mining Proof / Linux agent hashrate proof (push) Has been cancelled
This commit is contained in:
@@ -60,12 +60,12 @@ describe('MissionDeckPage', () => {
|
||||
expect(screen.getByText('Loading loadout defaults…')).toBeInTheDocument();
|
||||
expect(await screen.findByRole('heading', { level: 1, name: /Mission Deck/i })).toBeInTheDocument();
|
||||
expect(screen.getByText('FAST PATH')).toBeInTheDocument();
|
||||
expect(screen.getByText(/Pick a preset loadout/i)).toBeInTheDocument();
|
||||
expect(await screen.findByText(/Pick a preset loadout/i)).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it('renders Ghost / Loud / Spread mode chips in loadout layout', async () => {
|
||||
renderMissionDeck();
|
||||
await screen.findByRole('heading', { level: 1, name: 'Mission Deck' });
|
||||
await screen.findByRole('region', { name: 'Mission loadout' });
|
||||
expect(screen.getByRole('region', { name: 'Mission loadout' })).toBeInTheDocument();
|
||||
const loadout = screen.getByRole('region', { name: 'Mission loadout' });
|
||||
expect(loadout).toHaveTextContent('Ghost');
|
||||
@@ -76,7 +76,7 @@ describe('MissionDeckPage', () => {
|
||||
|
||||
it('shows spread profile chips and campaign slug on the right panel', async () => {
|
||||
renderMissionDeck();
|
||||
await screen.findByRole('heading', { level: 1, name: 'Mission Deck' });
|
||||
await screen.findByRole('region', { name: 'Mission loadout' });
|
||||
expect(screen.getByRole('heading', { level: 3, name: /Spread profile/i })).toBeInTheDocument();
|
||||
expect(screen.getByRole('button', { name: 'LAN Kindling' })).toBeInTheDocument();
|
||||
expect(screen.getByLabelText(/Campaign slug/i)).toBeInTheDocument();
|
||||
@@ -84,7 +84,7 @@ describe('MissionDeckPage', () => {
|
||||
|
||||
it('links to Forge, Emberwake, Builds, and field guide', async () => {
|
||||
renderMissionDeck();
|
||||
await screen.findByRole('heading', { level: 1, name: /Mission Deck/i });
|
||||
await screen.findByRole('region', { name: 'Mission loadout' });
|
||||
expect(screen.getAllByRole('link', { name: /^Forge$/i }).length).toBeGreaterThan(0);
|
||||
expect(screen.getAllByRole('link', { name: /^Emberwake$/i }).length).toBeGreaterThan(0);
|
||||
expect(screen.getAllByRole('link', { name: /^Builds$/i }).length).toBeGreaterThan(0);
|
||||
@@ -97,7 +97,7 @@ describe('MissionDeckPage', () => {
|
||||
const buildSpy = vi.spyOn(api, 'buildAgent');
|
||||
const exportSpy = vi.spyOn(api, 'exportSpreadKit');
|
||||
renderMissionDeck();
|
||||
await screen.findByRole('heading', { level: 1, name: 'Mission Deck' });
|
||||
await screen.findByRole('region', { name: 'Mission loadout' });
|
||||
await user.click(screen.getByRole('button', { name: 'LAN Kindling' }));
|
||||
await user.click(screen.getByRole('button', { name: /Equip & Strike/i }));
|
||||
await waitFor(() => {
|
||||
|
||||
Reference in New Issue
Block a user