competitor-listing-optimization-task.test.ts 819 B

12
  1. import assert from 'node:assert/strict'; import test from 'node:test'; import { createOptimizationTask, updateOptimizationTask, type CompetitorOptimizationTask } from '../src/modules/competitor-listing-monitor/optimization-task.js';
  2. test('optimization task creation is workspace-scoped and idempotent',()=>{ const all: CompetitorOptimizationTask[]=[]; const input={workspaceId:'ws',competitorSnapshotId:'snap',ownProductId:'own',dimension:'title',impactScore:40,now:'2026-01-01T00:00:00.000Z'}; const first=createOptimizationTask(all,input); const second=createOptimizationTask(all,{...input,now:'2026-01-02T00:00:00.000Z'}); assert.equal(first.idempotent,false); assert.equal(second.idempotent,true); assert.equal(all.length,1); assert.equal(updateOptimizationTask(first.task,'in_progress').status,'in_progress'); });