import { delivery } from "../../../src/protos/protos"; export default class CampaignsClientFake extends delivery.Campaigns { msSpeedResponse?: delivery.ISpeedResponse; msSpeedIsolatedResponse?: delivery.IIsolatedSpeedResponse; nbCallsSpeedAPI: number = 0; nbCallsSpeedIsolatedAPI: number = 0; constructor( msSpeedResponse?: delivery.ISpeedResponse, msSpeedIsolatedResponse?: delivery.IIsolatedSpeedResponse ) { super(() => {}, undefined, undefined); this.msSpeedResponse = msSpeedResponse; this.msSpeedIsolatedResponse = msSpeedIsolatedResponse; } public async getSpeed(): Promise { this.nbCallsSpeedAPI++; return new delivery.SpeedResponse(this.msSpeedResponse); } public async getIsolatedSpeed(): Promise { this.nbCallsSpeedIsolatedAPI++; return new delivery.IsolatedSpeedResponse(this.msSpeedIsolatedResponse); } public getSpeedCalls() { return this.nbCallsSpeedAPI; } public getSpeedIsolatedCalls() { return this.nbCallsSpeedIsolatedAPI; } public setSpeedResponse(msSpeedResponse: delivery.ISpeedResponse) { this.msSpeedResponse = msSpeedResponse; } public setSpeedIsolatedResponse(msSpeedIsolatedResponse: delivery.IIsolatedSpeedResponse) { this.msSpeedIsolatedResponse = msSpeedIsolatedResponse; } public clear() { this.nbCallsSpeedAPI = 0; this.nbCallsSpeedIsolatedAPI = 0; this.msSpeedResponse = undefined; this.msSpeedIsolatedResponse = undefined; } }