fix: retain verified Telegram message receipts for weekly briefs
This commit is contained in:
@@ -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);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user