fase(20): visual regression refactor
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
39
dist/modules/visual-regression/application/commands/ApproveAllNewStatesCommand.js
vendored
Normal file
39
dist/modules/visual-regression/application/commands/ApproveAllNewStatesCommand.js
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.ApproveAllNewStatesCommand = void 0;
|
||||
const Result_1 = require("../../../../shared/domain/Result");
|
||||
const VisualBaseline_1 = require("../../domain/entities/VisualBaseline");
|
||||
const UniqueId_1 = require("../../../../shared/domain/UniqueId");
|
||||
class ApproveAllNewStatesCommand {
|
||||
constructor(comparisonRepo, baselineRepo, eventBus) {
|
||||
this.comparisonRepo = comparisonRepo;
|
||||
this.baselineRepo = baselineRepo;
|
||||
this.eventBus = eventBus;
|
||||
}
|
||||
async execute(req) {
|
||||
const pending = await this.comparisonRepo.findByStatus(req.sessionId, 'new_state');
|
||||
let approved = 0;
|
||||
for (const comparison of pending) {
|
||||
const baselineId = UniqueId_1.UniqueId.create();
|
||||
const baseline = VisualBaseline_1.VisualBaseline.create({
|
||||
stateId: comparison.stateId,
|
||||
url: comparison.sessionId,
|
||||
screenshotPath: comparison.currentScreenshotPath,
|
||||
width: 1280,
|
||||
height: 720,
|
||||
approvedAt: new Date(),
|
||||
approvedBy: 'user',
|
||||
}, baselineId);
|
||||
await this.baselineRepo.save(baseline);
|
||||
comparison.approve(baselineId.toString());
|
||||
await this.comparisonRepo.update(comparison);
|
||||
for (const event of comparison.domainEvents) {
|
||||
await this.eventBus.publish(event);
|
||||
}
|
||||
comparison.clearEvents();
|
||||
approved++;
|
||||
}
|
||||
return (0, Result_1.Ok)({ approved });
|
||||
}
|
||||
}
|
||||
exports.ApproveAllNewStatesCommand = ApproveAllNewStatesCommand;
|
||||
Reference in New Issue
Block a user