fix: retain verified Telegram message receipts for weekly briefs

This commit is contained in:
2026-09-06 14:39:12 +03:00
parent 7a01e4bed7
commit df0626a71f
7 changed files with 63 additions and 9 deletions
+12
View File
@@ -134,3 +134,15 @@ test('review queue exposes expired interrupted sends but does not allow reviewin
assert.throws(()=>outbox.resolve(`${batch.id}:0`,'admin@example.test',{action:'skip',note:'Bu gönderim halen etkin durumdadır.'}),{status:409});
assert.equal(outbox.queue(121001)[0].state,'uncertain');
});
test('Telegram provider receipt is persisted for each message and missing receipt stays uncertain',async t=>{
const {outbox}=fixture(t);
const telegram={store:{listUsers:()=>[{email:'telegram@example.test'}],getData:(email,key)=>key==='telegram'?{chatId:'123'}:null},
telegramConfigured:()=>true,emailConfigured:()=>false,sendTelegram:async()=>({id:'123:42',chatId:'123',messageId:42})};
const sent=await sender(outbox,telegram)(async()=>[]);
assert.equal(sent.gonderilen,1);assert.equal(outbox.inspect()[0].receipt,'123:42');
const missing=await sender(outbox,{...telegram,clock:()=>new Date('2026-09-14T05:00:00Z'),sendTelegram:async()=>true})(async()=>[]);
assert.equal(missing.hata,1);assert.equal(missing.gonderilen,0);
const uncertain=outbox.inspect().find(row=>row.week==='2026-09-14');
assert.equal(uncertain.state,'uncertain');assert.equal(uncertain.receipt,null);
});