validate health portfolio profile writes

This commit is contained in:
2026-09-06 18:07:10 +03:00
parent 64919270d8
commit 231c372411
3 changed files with 36 additions and 0 deletions
+12
View File
@@ -224,6 +224,18 @@ test('profile and saved-filter writes require the loaded revision and reject con
assert.equal((await request('/api/me/data','PUT',{anahtar,deger,revision:null},other)).status,200);
}
});
test('health portfolio writes reject malformed records before persistence',async()=>{
const current=await request('/api/me/data');
const revision=current.data.revisions.firma_profil ?? null;
const base={company:'QA sağlık',scrapedCapabilities:{healthPortfolio:[{id:'hp-1',group:'Mikroskop',kind:'device',utsStatus:'declared'}]}};
assert.equal((await request('/api/me/data','PUT',{anahtar:'firma_profil',deger:base,revision})).status,200);
const next=(await request('/api/me/data')).data.revisions.firma_profil;
for (const healthPortfolio of [[{id:'hp-1'},{id:'hp-1'}],[{id:'hp-1',kind:'other'}],[{id:'hp-1',model:'x'.repeat(1001)}]]) {
const response=await request('/api/me/data','PUT',{anahtar:'firma_profil',deger:{...base,scrapedCapabilities:{healthPortfolio}},revision:next});
assert.equal(response.status,400);
}
assert.deepEqual((await request('/api/me/data')).data.veri.firma_profil,base);
});
test('team membership rejects stale and over-quota writes and permits removing last member',async()=>{
const anahtar='ekip',member={id:'qa-team',name:'QA ekip üyesi',role:'Uzman',email:''};
const initial=await request('/api/me/data');