test(cli): resolve React Context mocking discrepancies and stabilize core layout CI test suites

This commit is contained in:
mkorwel
2026-04-16 05:48:28 +00:00
parent ff8c7a61b3
commit cb0e1015ee
10 changed files with 154 additions and 218 deletions
@@ -0,0 +1,39 @@
/**
* @license
* Copyright 2026 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
import { describe, it, beforeEach, afterEach } from 'vitest';
import { TestRig } from '@google/gemini-cli-test-utils';
describe('Gemini CLI TTY Bootstrap', () => {
let rig: TestRig;
beforeEach(() => {
rig = new TestRig();
rig.setup('TTY Bootstrap Smoke Test');
});
afterEach(async () => {
await rig.cleanup();
});
it('should render the interactive UI and display the ready marker in a TTY', async () => {
// Spawning the CLI in a pseudo-TTY with a dummy API key to bypass auth prompt
const run = await rig.runInteractive({
env: { GEMINI_API_KEY: 'dummy-key' },
});
// The ready marker we expect to see
const readyMarker = 'Type your message or @path/to/file';
const welcomeMessage = 'Welcome to Gemini CLI!';
// Verify the initial render completes and displays the markers
await run.expectText(welcomeMessage, 30000);
await run.expectText(readyMarker, 30000);
// If we reached here, the smoke test passed
await run.kill();
});
});