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 { GetterRepository } from "./GetterRepository";
|
||||||
import { IEta } from "../entities/entities";
|
import { IEta } from "../entities/entities";
|
||||||
|
|
||||||
export class ApiBasedRepository implements GetterRepository {
|
|
||||||
public async getEtaForShuttleAndStopId(shuttleId: string, stopId: string): Promise<IEta | null> {
|
|
||||||
// TODO: implement
|
// TODO: implement
|
||||||
|
|
||||||
|
export class ApiBasedRepository implements GetterRepository {
|
||||||
|
public async getEtaForShuttleAndStopId(shuttleId: string, stopId: string): Promise<IEta | null> {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async getEtasForShuttleId(shuttleId: string): Promise<[]> {
|
public async getEtasForShuttleId(shuttleId: string): Promise<[]> {
|
||||||
// TODO: implement
|
|
||||||
|
|
||||||
return [];
|
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