feat(ci): add husky pre-commit hook and fix puppeteer-core chrome detection

This commit is contained in:
2025-11-22 13:37:39 +01:00
parent 21d748b316
commit 81b2fd3cd3
12 changed files with 41 additions and 30 deletions

View File

@@ -1,12 +1,12 @@
import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
import { BrowserDevToolsAdapter, DevToolsConfig } from '../../../src/infrastructure/adapters/automation/BrowserDevToolsAdapter';
import { StepId } from '../../../src/packages/domain/value-objects/StepId';
import { BrowserDevToolsAdapter, DevToolsConfig } from '../../../packages/infrastructure/adapters/automation/BrowserDevToolsAdapter';
import { StepId } from '../../../packages/domain/value-objects/StepId';
import {
IRacingSelectorMap,
getStepSelectors,
getStepName,
isModalStep,
} from '../../../src/infrastructure/adapters/automation/selectors/IRacingSelectorMap';
} from '../../../packages/infrastructure/adapters/automation/selectors/IRacingSelectorMap';
// Mock puppeteer-core
vi.mock('puppeteer-core', () => {

View File

@@ -1,7 +1,7 @@
import { describe, it, expect, beforeEach } from 'vitest';
import { InMemorySessionRepository } from '../../../src/infrastructure/repositories/InMemorySessionRepository';
import { AutomationSession } from '../../../src/packages/domain/entities/AutomationSession';
import { StepId } from '../../../src/packages/domain/value-objects/StepId';
import { InMemorySessionRepository } from '../../../packages/infrastructure/repositories/InMemorySessionRepository';
import { AutomationSession } from '../../../packages/domain/entities/AutomationSession';
import { StepId } from '../../../packages/domain/value-objects/StepId';
describe('InMemorySessionRepository Integration Tests', () => {
let repository: InMemorySessionRepository;

View File

@@ -1,6 +1,6 @@
import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest';
import { MockBrowserAutomationAdapter } from '../../../src/infrastructure/adapters/automation/MockBrowserAutomationAdapter';
import { StepId } from '../../../src/packages/domain/value-objects/StepId';
import { MockBrowserAutomationAdapter } from '../../../packages/infrastructure/adapters/automation/MockBrowserAutomationAdapter';
import { StepId } from '../../../packages/domain/value-objects/StepId';
describe('MockBrowserAutomationAdapter Integration Tests', () => {
let adapter: MockBrowserAutomationAdapter;

View File

@@ -1,9 +1,9 @@
import { describe, it, expect, vi, beforeEach, Mock } from 'vitest';
import { StartAutomationSessionUseCase } from '../../../../src/packages/application/use-cases/StartAutomationSessionUseCase';
import { IAutomationEngine } from '../../../../src/packages/application/ports/IAutomationEngine';
import { IBrowserAutomation } from '../../../../src/packages/application/ports/IBrowserAutomation';
import { ISessionRepository } from '../../../../src/packages/application/ports/ISessionRepository';
import { AutomationSession } from '../../../../src/packages/domain/entities/AutomationSession';
import { StartAutomationSessionUseCase } from '../../../../packages/application/use-cases/StartAutomationSessionUseCase';
import { IAutomationEngine } from '../../../../packages/application/ports/IAutomationEngine';
import { IBrowserAutomation } from '../../../../packages/application/ports/IBrowserAutomation';
import { ISessionRepository } from '../../../../packages/application/ports/ISessionRepository';
import { AutomationSession } from '../../../../packages/domain/entities/AutomationSession';
describe('StartAutomationSessionUseCase', () => {
let mockAutomationEngine: {

View File

@@ -1,7 +1,7 @@
import { describe, it, expect } from 'vitest';
import { AutomationSession } from '../../../../src/packages/domain/entities/AutomationSession';
import { StepId } from '../../../../src/packages/domain/value-objects/StepId';
import { SessionState } from '../../../../src/packages/domain/value-objects/SessionState';
import { AutomationSession } from '../../../../packages/domain/entities/AutomationSession';
import { StepId } from '../../../../packages/domain/value-objects/StepId';
import { SessionState } from '../../../../packages/domain/value-objects/SessionState';
describe('AutomationSession Entity', () => {
describe('create', () => {

View File

@@ -1,7 +1,7 @@
import { describe, it, expect } from 'vitest';
import { StepTransitionValidator } from '../../../../src/packages/domain/services/StepTransitionValidator';
import { StepId } from '../../../../src/packages/domain/value-objects/StepId';
import { SessionState } from '../../../../src/packages/domain/value-objects/SessionState';
import { StepTransitionValidator } from '../../../../packages/domain/services/StepTransitionValidator';
import { StepId } from '../../../../packages/domain/value-objects/StepId';
import { SessionState } from '../../../../packages/domain/value-objects/SessionState';
describe('StepTransitionValidator Service', () => {
describe('canTransition', () => {

View File

@@ -1,5 +1,5 @@
import { describe, it, expect } from 'vitest';
import { SessionState } from '../../../../src/packages/domain/value-objects/SessionState';
import { SessionState } from '../../../../packages/domain/value-objects/SessionState';
describe('SessionState Value Object', () => {
describe('create', () => {

View File

@@ -1,5 +1,5 @@
import { describe, it, expect } from 'vitest';
import { StepId } from '../../../../src/packages/domain/value-objects/StepId';
import { StepId } from '../../../../packages/domain/value-objects/StepId';
describe('StepId Value Object', () => {
describe('create', () => {

View File

@@ -1,5 +1,5 @@
import { describe, it, expect, beforeEach, afterEach } from 'vitest';
import { loadAutomationConfig, AutomationMode } from '../../../src/infrastructure/config/AutomationConfig';
import { loadAutomationConfig, AutomationMode } from '../../../packages/infrastructure/config/AutomationConfig';
describe('AutomationConfig', () => {
const originalEnv = process.env;
@@ -16,12 +16,12 @@ describe('AutomationConfig', () => {
describe('loadAutomationConfig', () => {
describe('default configuration', () => {
it('should return mock mode when AUTOMATION_MODE is not set', () => {
it('should return dev mode when AUTOMATION_MODE is not set', () => {
delete process.env.AUTOMATION_MODE;
const config = loadAutomationConfig();
expect(config.mode).toBe('mock');
expect(config.mode).toBe('dev');
});
it('should return default devTools configuration', () => {
@@ -161,12 +161,12 @@ describe('AutomationConfig', () => {
expect(config.nutJs?.confidence).toBe(0.9);
});
it('should fallback to mock mode for invalid AUTOMATION_MODE', () => {
it('should fallback to dev mode for invalid AUTOMATION_MODE', () => {
process.env.AUTOMATION_MODE = 'invalid-mode';
const config = loadAutomationConfig();
expect(config.mode).toBe('mock');
expect(config.mode).toBe('dev');
});
});