Add audited administrator resolution of uncertain email deliveries

This commit is contained in:
2026-09-06 13:06:17 +03:00
parent d956de3014
commit 22e886936e
8 changed files with 118 additions and 3 deletions
+11
View File
@@ -188,3 +188,14 @@ test('durable AI job endpoints enforce account isolation without starting provid
assert.equal((await request('/api/me/ai-jobs?id=missing','DELETE',null,other)).status,404);
assert.equal((await request('/api/me/ai-jobs','PUT',{})).status,405);
});
test('outbox review endpoint requires administrator and rejects unsupported or invalid changes',async()=>{
assert.equal((await request('/api/admin/notify/outbox','GET',null,null)).status,401);
assert.equal((await request('/api/admin/notify/outbox')).status,403);
assert.equal((await request('/api/admin/notify/outbox','POST',{id:'x',action:'skip',note:'Bu kullanıcı yönetici değildir.'})).status,403);
const admin=signToken({email:'outbox-admin@example.test',name:'Admin',isAdmin:true});
assert.equal((await request('/api/admin/notify/outbox','GET',null,admin)).status,200);
assert.equal((await request('/api/admin/notify/outbox','DELETE',null,admin)).status,405);
assert.equal((await request('/api/admin/notify/outbox','POST',{id:'x',action:'skip',note:'short'},admin)).status,400);
assert.equal((await request('/api/admin/notify/outbox','POST',{id:'missing',action:'skip',note:'Sağlayıcı kaydı kontrol edildi ve kapatılıyor.'},admin)).status,409);
});