{"version":3,"sources":["../../src/testing/index.ts"],"sourcesContent":["import type {\n  CertificateResult,\n  CheckTimeOptions,\n  ExtraParameters,\n  SaveOptions,\n  SignatureClient,\n  SignOptions,\n  SignResult,\n  SignBatchOptions,\n  SignBatchResult,\n} from \"../types.js\";\n\n/**\n * Cliente determinista para pruebas de aplicaciones consumidoras.\n */\nexport class MockAutoFirmaClient implements SignatureClient {\n  public readonly calls: SignOptions[] = [];\n  private readonly result: SignResult;\n\n  public constructor(\n    result: SignResult = {\n      signature: \"mock-signature\",\n      certificate: \"mock-certificate\",\n    },\n  ) {\n    this.result = result;\n  }\n\n  public async sign(options: SignOptions): Promise<SignResult> {\n    this.calls.push(options);\n    return this.result;\n  }\n\n  public readonly batchCalls: SignBatchOptions[] = [];\n\n  public async signBatch(options: SignBatchOptions): Promise<SignBatchResult> {\n    this.batchCalls.push(options);\n    return {\n      signs: options.documents.map(({ id }) => ({\n        id,\n        result: \"DONE_AND_SAVED\",\n        signature: this.result.signature,\n      })),\n      ...(this.result.certificate\n        ? { certificate: this.result.certificate }\n        : {}),\n    };\n  }\n\n  public async coSign(options: SignOptions): Promise<SignResult> {\n    this.calls.push(options);\n    return this.result;\n  }\n\n  public async counterSign(options: SignOptions): Promise<SignResult> {\n    this.calls.push(options);\n    return this.result;\n  }\n\n  public async selectCertificate(\n    _parameters: ExtraParameters = {},\n  ): Promise<CertificateResult> {\n    return { certificate: this.result.certificate ?? \"mock-certificate\" };\n  }\n\n  public readonly saved: SaveOptions[] = [];\n\n  public async saveDataToFile(options: SaveOptions): Promise<void> {\n    this.saved.push(options);\n  }\n\n  public async checkTime(_options: CheckTimeOptions = {}): Promise<void> {\n    return undefined;\n  }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAeO,IAAM,sBAAN,MAAqD;AAAA,EAC1C,QAAuB,CAAC;AAAA,EACvB;AAAA,EAEV,YACL,SAAqB;AAAA,IACnB,WAAW;AAAA,IACX,aAAa;AAAA,EACf,GACA;AACA,SAAK,SAAS;AAAA,EAChB;AAAA,EAEA,MAAa,KAAK,SAA2C;AAC3D,SAAK,MAAM,KAAK,OAAO;AACvB,WAAO,KAAK;AAAA,EACd;AAAA,EAEgB,aAAiC,CAAC;AAAA,EAElD,MAAa,UAAU,SAAqD;AAC1E,SAAK,WAAW,KAAK,OAAO;AAC5B,WAAO;AAAA,MACL,OAAO,QAAQ,UAAU,IAAI,CAAC,EAAE,GAAG,OAAO;AAAA,QACxC;AAAA,QACA,QAAQ;AAAA,QACR,WAAW,KAAK,OAAO;AAAA,MACzB,EAAE;AAAA,MACF,GAAI,KAAK,OAAO,cACZ,EAAE,aAAa,KAAK,OAAO,YAAY,IACvC,CAAC;AAAA,IACP;AAAA,EACF;AAAA,EAEA,MAAa,OAAO,SAA2C;AAC7D,SAAK,MAAM,KAAK,OAAO;AACvB,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,MAAa,YAAY,SAA2C;AAClE,SAAK,MAAM,KAAK,OAAO;AACvB,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,MAAa,kBACX,cAA+B,CAAC,GACJ;AAC5B,WAAO,EAAE,aAAa,KAAK,OAAO,eAAe,mBAAmB;AAAA,EACtE;AAAA,EAEgB,QAAuB,CAAC;AAAA,EAExC,MAAa,eAAe,SAAqC;AAC/D,SAAK,MAAM,KAAK,OAAO;AAAA,EACzB;AAAA,EAEA,MAAa,UAAU,WAA6B,CAAC,GAAkB;AACrE,WAAO;AAAA,EACT;AACF;","names":[]}