Eingangsrechnungen: Fehlergrund von update.php weitergeben
update.php antwortet bei Validierungsfehlern mit HTTP 422 und nennt den Grund im Body. Bisher warf Axios dabei nur "Request failed with status code 422". Jetzt werden 4xx-Antworten ausgewertet und msg bzw. der Body in die Fehlermeldung uebernommen. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
0a01fbe8ca
commit
f54a0fe155
5 files changed
+47
-12
No files matched your search
@@ -40,7 +40,7 @@ const editForm = `
|
||||
<script>admin.Eingangsrechnungen.editRechnung(388444);</script>
|
||||
`;
|
||||
|
||||
function createServer({ updateResponse = [] } = {}) {
|
||||
function createServer({ updateResponse = [], updateStatus = 200 } = {}) {
|
||||
const requests = [];
|
||||
|
||||
const server = http.createServer((req, res) => {
|
||||
@@ -73,7 +73,7 @@ function createServer({ updateResponse = [] } = {}) {
|
||||
}
|
||||
|
||||
if (req.method === 'POST' && req.url === '/module/eingangsrechnungen/api/update.php') {
|
||||
res.writeHead(200, { 'Content-Type': 'application/json' });
|
||||
res.writeHead(updateStatus, { 'Content-Type': 'application/json' });
|
||||
res.end(JSON.stringify(updateResponse));
|
||||
return;
|
||||
}
|
||||
@@ -156,3 +156,27 @@ test('setRechnungsdaten meldet die Fehlermeldung aus update.php', async t => {
|
||||
/Rechnung ist gesperrt/
|
||||
);
|
||||
});
|
||||
|
||||
test('setRechnungsdaten gibt bei HTTP 422 den Grund aus dem Body weiter', async t => {
|
||||
const { connector } = await startConnector(t, {
|
||||
updateStatus: 422,
|
||||
updateResponse: { msg: 'Rechnungsdatum ungueltig' },
|
||||
});
|
||||
|
||||
await assert.rejects(
|
||||
connector.setLieferscheinNummer(388444, '2026-001107'),
|
||||
/HTTP 422\): Rechnungsdatum ungueltig/
|
||||
);
|
||||
});
|
||||
|
||||
test('setRechnungsdaten zeigt bei 422 ohne msg den Body', async t => {
|
||||
const { connector } = await startConnector(t, {
|
||||
updateStatus: 422,
|
||||
updateResponse: { errors: { rgempf: 'fehlt' } },
|
||||
});
|
||||
|
||||
await assert.rejects(
|
||||
connector.setLieferscheinNummer(388444, '2026-001107'),
|
||||
/HTTP 422\): \{"errors":\{"rgempf":"fehlt"\}\}/
|
||||
);
|
||||
});
|
||||
Reference in new issue
Block a user