add remaining tests for QueryResolvers

This commit is contained in:
2025-01-23 04:08:01 -08:00
parent 3366a764f9
commit c39834cf66

View File

@@ -24,12 +24,17 @@ describe("QueryResolvers", () => {
repository = new UnoptimizedInMemoryRepository();
});
async function addMockSystems() {
const systems = generateMockSystems();
await Promise.all(systems.map(async (system) => {
await repository.addOrUpdateSystem(system);
}));
return systems;
}
describe("systems", () => {
it("returns systems from the repository", async () => {
const systems = generateMockSystems();
await Promise.all(systems.map(async (system) => {
await repository.addOrUpdateSystem(system);
}));
const systems = await addMockSystems();
const query = `
query GetSystems
@@ -38,7 +43,7 @@ describe("QueryResolvers", () => {
name
}
}
`
`;
const response = await testServer.executeOperation({
query,
@@ -55,16 +60,50 @@ describe("QueryResolvers", () => {
});
describe("system", () => {
const query = `
query GetSystem($id: ID!)
{
system(id: $id) {
name
}
}
`;
it("returns a system for an ID from the repository", async () => {
const systems = await addMockSystems();
const systemToGet = systems[1];
});
it("returns null if no id provided", async () => {
const response = await testServer.executeOperation({
query,
variables: {
id: systemToGet.id,
}
}, {
contextValue: {
repository,
}
});
assert(response.body.kind === "single");
expect(response.body.singleResult.errors).toBeUndefined();
expect(response.body.singleResult.data?.system).toBeDefined();
});
it("returns null if there is no system", async () => {
const response = await testServer.executeOperation({
query,
variables: {
id: "nonexistent-id",
}
}, {
contextValue: {
repository,
}
});
assert(response.body.kind === "single");
expect(response.body.singleResult.errors).toBeUndefined();
expect(response.body.singleResult.data?.system).toBeNull();
});
});
});