fix: persist explicit review status and align review counters

This commit is contained in:
2026-09-06 09:02:28 +03:00
parent a9036cf909
commit f88a0c7bfe
7 changed files with 360 additions and 5 deletions
+16
View File
@@ -0,0 +1,16 @@
import test from 'node:test';
import assert from 'node:assert/strict';
import {companyStats} from '../src/services/analytics.js';
import {hizliFiltreGecer} from '../src/services/ihaleTarih.js';
import {applyTenderStates} from '../src/services/tenderState.js';
test('review counter uses the same explicit state as reviewed and unread filters',()=>{
const tenders=[{id:'a',incelendi:true},{id:'b',kanbanStatus:'teklif_hazirlaniyor'},{id:'c',incelendi:false,gorev:{}}];
assert.equal(companyStats(tenders).reviewed,1);
assert.equal(tenders.filter(t=>hizliFiltreGecer(t,'incelenenler')).length,1);
assert.equal(tenders.filter(t=>hizliFiltreGecer(t,'incelenmedi')).length,2);
});
test('reviewed tender snapshot survives dropping out of the current source pool',()=>{
const records={'2026/1':{snapshot:{id:'a',ikn:'2026/1',baslik:'Lab'},data:{incelendi:true}}};
const list=applyTenderStates([],records);assert.equal(list.length,1);assert.equal(list[0].incelendi,true);
assert.equal(applyTenderStates(list,records).length,1);
});