30 lines
936 B
JavaScript
30 lines
936 B
JavaScript
import test from "node:test";
|
|
import assert from "node:assert/strict";
|
|
import { createApp } from "../server/index.js";
|
|
import { packages } from "../shared/packages.js";
|
|
|
|
test("API liefert für jedes angezeigte Angebot dieselbe ID, Namen und Beschreibung", async (t) => {
|
|
const app = createApp({ sendConfirmation: async () => {} });
|
|
await new Promise((resolve) => app.listen(0, "127.0.0.1", resolve));
|
|
t.after(
|
|
() =>
|
|
new Promise((resolve) => {
|
|
app.closeAllConnections();
|
|
app.close(resolve);
|
|
}),
|
|
);
|
|
const response = await fetch(
|
|
`http://127.0.0.1:${app.address().port}/api/angebote`,
|
|
);
|
|
assert.equal(response.status, 200);
|
|
const body = await response.json();
|
|
assert.deepEqual(
|
|
body.packages,
|
|
packages.map(({ id, name, summary }) => ({
|
|
id,
|
|
name,
|
|
summary,
|
|
})),
|
|
);
|
|
});
|