mockttp
Version:
Mock HTTP server for testing HTTP clients and stubbing webservices
32 lines (26 loc) • 1.06 kB
text/typescript
import { MockedEndpointData, MockedEndpoint, CompletedRequest } from "../types";
export class MockedEndpointClient implements MockedEndpoint {
public constructor(
public readonly id: string,
private explanation: string | undefined,
private endpointDataGetter: () => Promise<MockedEndpointData | null>
) { }
private async getMockedEndpointData() {
const mockedEndpointData = await this.endpointDataGetter();
if (mockedEndpointData === null) throw new Error("Can't get seen requests for unknown mocked endpoint");
else return mockedEndpointData;
}
public async getSeenRequests(): Promise<CompletedRequest[]> {
return (await this.getMockedEndpointData()).seenRequests;
}
public async isPending(): Promise<boolean> {
return (await this.getMockedEndpointData()).isPending;
}
toString() {
if (this.explanation) {
return "Mocked endpoint: " + this.explanation;
} else {
return Object.toString.call(this);
}
}
}