This commit is contained in:
2025-12-16 13:53:23 +01:00
parent 84f05598a6
commit 29dc11deb9
127 changed files with 538 additions and 547 deletions

View File

@@ -7,7 +7,7 @@ describe('PageStateValidator', () => {
describe('validateState', () => {
it('should return valid when all required selectors are present', () => {
// Arrange
const actualState = (selector: string) => {
const actualState = (_selector: string) => {
return ['#add-car-button', '#cars-list'].includes(selector);
};
@@ -27,7 +27,7 @@ describe('PageStateValidator', () => {
it('should return invalid when required selectors are missing', () => {
// Arrange
const actualState = (selector: string) => {
const actualState = (_selector: string) => {
return selector === '#add-car-button'; // Only one of two selectors present
};
@@ -48,7 +48,7 @@ describe('PageStateValidator', () => {
it('should return invalid when forbidden selectors are present', () => {
// Arrange
const actualState = (selector: string) => {
const actualState = (_selector: string) => {
return ['#add-car-button', '#set-track'].includes(selector);
};
@@ -70,7 +70,7 @@ describe('PageStateValidator', () => {
it('should handle empty forbidden selectors array', () => {
// Arrange
const actualState = (selector: string) => {
const actualState = (_selector: string) => {
return selector === '#add-car-button';
};
@@ -89,7 +89,7 @@ describe('PageStateValidator', () => {
it('should handle undefined forbidden selectors', () => {
// Arrange
const actualState = (selector: string) => {
const actualState = (_selector: string) => {
return selector === '#add-car-button';
};
@@ -108,7 +108,7 @@ describe('PageStateValidator', () => {
it('should return error result when actualState function throws', () => {
// Arrange
const actualState = (selector: string) => {
const actualState = (_selector: string) => {
throw new Error('Selector evaluation failed');
};
@@ -144,7 +144,7 @@ describe('PageStateValidator', () => {
it('should validate complex state with both required and forbidden selectors', () => {
// Arrange - Simulate being on Cars page but Track page elements leaked through
const actualState = (selector: string) => {
const actualState = (_selector: string) => {
const presentSelectors = ['#add-car-button', '#cars-list', '#set-track'];
return presentSelectors.includes(selector);
};

View File

@@ -26,7 +26,7 @@ export interface PageStateValidationResult {
}
export interface PageStateValidationInput {
actualState: (selector: string) => boolean;
actualState: (_selector: string) => boolean;
validation: PageStateValidation;
realMode?: boolean;
}
@@ -59,14 +59,14 @@ export class PageStateValidator
* @returns Result with validation outcome
*/
validateState(
actualState: (selector: string) => boolean,
actualState: (_selector: string) => boolean,
validation: PageStateValidation
): Result<PageStateValidationResult, Error> {
try {
const { expectedStep, requiredSelectors, forbiddenSelectors = [] } = validation;
// Check required selectors are present
const missingSelectors = requiredSelectors.filter(selector => !actualState(selector));
const missingSelectors = requiredSelectors.filter(_selector => !actualState(_selector));
if (missingSelectors.length > 0) {
const result: PageStateValidationResult = {
@@ -79,7 +79,7 @@ export class PageStateValidator
}
// Check forbidden selectors are absent
const unexpectedSelectors = forbiddenSelectors.filter(selector => actualState(selector));
const unexpectedSelectors = forbiddenSelectors.filter(_selector => actualState(_selector));
if (unexpectedSelectors.length > 0) {
const result: PageStateValidationResult = {
@@ -118,7 +118,7 @@ export class PageStateValidator
* @returns Result with validation outcome
*/
validateStateEnhanced(
actualState: (selector: string) => boolean,
actualState: (_selector: string) => boolean,
validation: PageStateValidation,
realMode: boolean = false
): Result<PageStateValidationResult, Error> {
@@ -183,7 +183,7 @@ export class PageStateValidator
}
// Check required selectors are present (with fallbacks for real mode)
const missingSelectors = requiredSelectors.filter(selector => {
const missingSelectors = requiredSelectors.filter(_selector => {
if (realMode) {
const relatedSelectors = selectorsToCheck.filter(s =>
s.includes(expectedStep) ||
@@ -212,7 +212,7 @@ export class PageStateValidator
}
// Check forbidden selectors are absent
const unexpectedSelectors = forbiddenSelectors.filter(selector => actualState(selector));
const unexpectedSelectors = forbiddenSelectors.filter(_selector => actualState(_selector));
if (unexpectedSelectors.length > 0) {
const result: PageStateValidationResult = {

View File

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

View File

@@ -1,5 +1,5 @@
import { StepId } from '../value-objects/StepId';
import { SessionState } from '../value-objects/SessionState';
import type { IDomainValidationService } from '@core/shared/domain';
import { Result } from '../../../shared/result/Result';
@@ -96,7 +96,7 @@ export class StepTransitionValidator
return { isValid: true };
}
static shouldStopAtStep18(nextStep: StepId): boolean {
static shouldStopAtStep18(_nextStep: StepId): boolean {
return nextStep.isFinalStep();
}