test: add MVP QA gate
This commit is contained in:
parent
af09f705b1
commit
081d6085a5
10 changed files with 413 additions and 7 deletions
13
src/lib/testing/external-api-mocks.test.ts
Normal file
13
src/lib/testing/external-api-mocks.test.ts
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
import { describe, expect, test } from "vitest";
|
||||
import { externalApiHandlers } from "./external-api-mocks";
|
||||
|
||||
describe("external API mocks", () => {
|
||||
test("defines deterministic handlers for deferred datasource adapters", () => {
|
||||
expect(externalApiHandlers).toHaveLength(3);
|
||||
expect(externalApiHandlers.map((handler) => handler.info.header)).toEqual([
|
||||
"GET https://prometheus.dimensionlab.net/api/v1/query",
|
||||
"GET https://uptime.dimensionlab.net/api/status-page/*",
|
||||
"GET https://api.open-meteo.com/v1/forecast",
|
||||
]);
|
||||
});
|
||||
});
|
||||
33
src/lib/testing/external-api-mocks.ts
Normal file
33
src/lib/testing/external-api-mocks.ts
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
import { http, HttpResponse } from "msw";
|
||||
|
||||
export const externalApiHandlers = [
|
||||
http.get("https://prometheus.dimensionlab.net/api/v1/query", () =>
|
||||
HttpResponse.json({
|
||||
status: "success",
|
||||
data: {
|
||||
resultType: "vector",
|
||||
result: [
|
||||
{
|
||||
metric: { instance: "fixture" },
|
||||
value: [1771430400, "1"],
|
||||
},
|
||||
],
|
||||
},
|
||||
}),
|
||||
),
|
||||
http.get("https://uptime.dimensionlab.net/api/status-page/*", () =>
|
||||
HttpResponse.json({
|
||||
status: "ok",
|
||||
incidents: [],
|
||||
monitors: [{ name: "fixture", status: "up" }],
|
||||
}),
|
||||
),
|
||||
http.get("https://api.open-meteo.com/v1/forecast", () =>
|
||||
HttpResponse.json({
|
||||
current: {
|
||||
temperature_2m: 21.4,
|
||||
weather_code: 0,
|
||||
},
|
||||
}),
|
||||
),
|
||||
];
|
||||
Loading…
Add table
Add a link
Reference in a new issue