diff --git a/src/endpoint-mocker/abstract-endpoint-mocker.ts b/src/endpoint-mocker/abstract-endpoint-mocker.ts new file mode 100644 index 0000000..04ac39c --- /dev/null +++ b/src/endpoint-mocker/abstract-endpoint-mocker.ts @@ -0,0 +1,13 @@ +import nock from "nock"; + +export abstract class EndpointMocker { + constructor(private _allowUnmocked: boolean) {} + + get allowUnmocked() { + return this._allowUnmocked; + } + + cleanAll() { + nock.cleanAll(); + } +} \ No newline at end of file diff --git a/src/index.ts b/src/index.ts index 5bf2f2c..57035f4 100644 --- a/src/index.ts +++ b/src/index.ts @@ -17,6 +17,7 @@ import { Input } from "@mg/github/action/input/input-mocker.types"; import { Response } from "@mg/endpoint-mocker/response/abstract-response-mocker.types"; import { ResponseMocker } from "@mg/endpoint-mocker/response/abstract-response-mocker"; import { RequestMocker } from "@mg/endpoint-mocker/request/abstract-request-mocker"; +import { EndpointMocker } from "@mg/endpoint-mocker/abstract-endpoint-mocker"; import { EndpointDetails, EndpointMethod, Endpoints } from "@mg/endpoint-mocker/endpoint-mocker.types"; import { Repository, Repositories } from "@mg/github/repository/repository-mocker.types"; @@ -36,6 +37,7 @@ export { Repositories, Repository, Response, + EndpointMocker, ResponseMocker, RequestMocker, EndpointDetails, diff --git a/src/moctokit/moctokit.ts b/src/moctokit/moctokit.ts index a9f3e22..5d3eeae 100644 --- a/src/moctokit/moctokit.ts +++ b/src/moctokit/moctokit.ts @@ -1,17 +1,14 @@ +import { EndpointMocker } from "@mg/endpoint-mocker/abstract-endpoint-mocker"; import endpointToMethod from "@mg/moctokit/generated/endpoint-request"; -import nock from "nock"; -export class Moctokit { +export class Moctokit extends EndpointMocker { private _rest; constructor(baseUrl?: string, allowUnmocked = false) { - this._rest = endpointToMethod(baseUrl ?? "https://api.github.com", allowUnmocked); + super(allowUnmocked); + this._rest = endpointToMethod(baseUrl ?? "https://api.github.com", this.allowUnmocked); } get rest() { return this._rest; } - - cleanAll() { - nock.cleanAll(); - } }