1
0
Fork 0
mirror of https://github.com/s-frick/effigenix.git synced 2026-03-28 10:09:35 +01:00
effigenix/test-automation/web-ui/tests/api/masterdata/suppliers.spec.ts
2026-03-27 11:13:16 +01:00

47 lines
1.7 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { test, expect } from '../../../fixtures/auth.fixture.js';
/**
* TC-SUP Lieferanten
* Quelle: GitHub Issue #63
*/
test.describe('TC-SUP: Lieferanten', () => {
test('TC-SUP-01: Lieferant erstellen Pflichtfelder', async ({ request, adminToken }) => {
const res = await request.post('/api/suppliers', {
data: { name: `Frisch AG ${Date.now()}`, phone: '+49 30 12345' },
headers: { Authorization: `Bearer ${adminToken}` },
});
expect(res.status()).toBe(201);
const body = await res.json();
expect(body.status).toBe('ACTIVE');
});
test('TC-SUP-02: Lieferant erscheint in Liste nach Erstellung', async ({ request, adminToken }) => {
const name = `ListTest-${Date.now()}`;
await request.post('/api/suppliers', {
data: { name, phone: '+49 30 99999' },
headers: { Authorization: `Bearer ${adminToken}` },
});
const res = await request.get('/api/suppliers', {
headers: { Authorization: `Bearer ${adminToken}` },
});
expect(res.status()).toBe(200);
const body = await res.json();
const found = (Array.isArray(body) ? body : body.content ?? []).some(
(s: { name: string }) => s.name === name,
);
expect(found).toBe(true);
});
test('TC-SUP-03: Lieferant ohne Name wird abgelehnt', async ({ request, adminToken }) => {
const res = await request.post('/api/suppliers', {
data: { phone: '+49 30 12345' },
headers: { Authorization: `Bearer ${adminToken}` },
});
expect(res.status()).toBe(400);
});
// TODO: Weitere TCs aus Issue #63 nach Implementierung hinzufügen
// TC-SUP-04: Doppelter Name abgelehnt
// TC-SUP-05: Lieferant deaktivieren
// TC-SUP-06: Filter nach Name
});