mirror of
https://github.com/brendan-ch/project-inter-server.git
synced 2026-04-17 07:50:31 +00:00
add mocking functions for tests
This commit is contained in:
@@ -1,16 +1,14 @@
|
||||
import { GetterRepository } from "./GetterRepository";
|
||||
import { IEta } from "../entities/entities";
|
||||
|
||||
// TODO: implement
|
||||
|
||||
export class ApiBasedRepository implements GetterRepository {
|
||||
public async getEtaForShuttleAndStopId(shuttleId: string, stopId: string): Promise<IEta | null> {
|
||||
// TODO: implement
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public async getEtasForShuttleId(shuttleId: string): Promise<[]> {
|
||||
// TODO: implement
|
||||
|
||||
return [];
|
||||
}
|
||||
|
||||
|
||||
40
test/repositories/ApiBasedRepositoryTests.ts
Normal file
40
test/repositories/ApiBasedRepositoryTests.ts
Normal file
@@ -0,0 +1,40 @@
|
||||
import { beforeEach, describe, jest, test } from "@jest/globals";
|
||||
|
||||
/**
|
||||
* Update the global fetch function to return a specific object.
|
||||
* @param obj
|
||||
*/
|
||||
function updateGlobalFetchMockJson(obj: any) {
|
||||
// @ts-ignore
|
||||
global.fetch = jest.fn(() => {
|
||||
return Promise.resolve({
|
||||
json: () => Promise.resolve(obj)
|
||||
})
|
||||
}) as jest.Mock;
|
||||
}
|
||||
|
||||
/**
|
||||
* Reset the global fetch function mock's JSON to return an empty object.
|
||||
* @param obj
|
||||
*/
|
||||
function resetGlobalFetchMockJson() {
|
||||
updateGlobalFetchMockJson({})
|
||||
}
|
||||
|
||||
beforeEach(() => {
|
||||
resetGlobalFetchMockJson();
|
||||
})
|
||||
|
||||
describe("getEtaForShuttleAndStopId", () => {
|
||||
test("getEtaForShuttleAndStopId returns correct ETA data", async () => {
|
||||
|
||||
});
|
||||
|
||||
test("getEtaForShuttleAndStopId returns null if API call is invalid", async () => {
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
describe("getEtasForShuttleId", () => {
|
||||
|
||||
})
|
||||
Reference in New Issue
Block a user