wip
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
import { describe, it, expect, beforeEach, afterEach } from 'vitest';
|
||||
import { DIContainer } from '../../../..//apps/companion/main/di-container';
|
||||
import type { HostedSessionConfig } from '../../../..//packages/domain/entities/HostedSessionConfig';
|
||||
import { StepId } from '../../../..//packages/domain/value-objects/StepId';
|
||||
|
||||
describe('companion start automation - happy path', () => {
|
||||
const originalEnv = { ...process.env };
|
||||
|
||||
beforeEach(() => {
|
||||
process.env = { ...originalEnv, NODE_ENV: 'test' };
|
||||
DIContainer.resetInstance();
|
||||
});
|
||||
|
||||
afterEach(async () => {
|
||||
const container = DIContainer.getInstance();
|
||||
await container.shutdown();
|
||||
DIContainer.resetInstance();
|
||||
process.env = originalEnv;
|
||||
});
|
||||
|
||||
it('creates a non-failed session and does not report browser-not-connected', async () => {
|
||||
const container = DIContainer.getInstance();
|
||||
const startAutomationUseCase = container.getStartAutomationUseCase();
|
||||
const sessionRepository = container.getSessionRepository();
|
||||
const automationEngine = container.getAutomationEngine();
|
||||
|
||||
const connectionResult = await container.initializeBrowserConnection();
|
||||
expect(connectionResult.success).toBe(true);
|
||||
|
||||
const config: HostedSessionConfig = {
|
||||
sessionName: 'Companion integration happy path',
|
||||
trackId: 'test-track',
|
||||
carIds: ['car-1'],
|
||||
};
|
||||
|
||||
const dto = await startAutomationUseCase.execute(config);
|
||||
|
||||
const sessionBefore = await sessionRepository.findById(dto.sessionId);
|
||||
expect(sessionBefore).toBeDefined();
|
||||
|
||||
await automationEngine.executeStep(StepId.create(1), config);
|
||||
|
||||
const session = await sessionRepository.findById(dto.sessionId);
|
||||
expect(session).toBeDefined();
|
||||
|
||||
const state = session!.state.value as string;
|
||||
expect(state).not.toBe('FAILED');
|
||||
|
||||
const errorMessage = session!.errorMessage as string | undefined;
|
||||
if (errorMessage) {
|
||||
expect(errorMessage).not.toContain('Browser not connected');
|
||||
}
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user