I have a external nodejs library (being consumed in my nodejs app) with the following implementation,
export type Client = InstanceType<Issuer['Client']>;
declare class BaseClient {
constructor(metadata: ClientMetadata);
metadata: ClientMetadata;
issuer: Issuer<this>;
static issuer: Issuer<BaseClient>;
authorizationUrl(parameters?: AuthorizationParameters): string;
callbackParams(input: string): CallbackParamsType;
}
export class Issuer<TClient extends BaseClient = BaseClient> {
constructor(metadata: IssuerMetadata);
Client: TypeOfGenericClient<TClient>;
metadata: IssuerMetadata;
static discover(issuer: string): Promise<Issuer<BaseClient>>;
}
export interface TypeOfGenericClient<TClient extends BaseClient = BaseClient> {
new (metadata: ClientMetadata): TClient;
}
The result of authorizationUrl is being used in my my public method.
public async getUrlMethod(): Promise<string> {
const client = await this.client.get(); // setup BaseClient instance
const result = client.callbackParams('callbackUrl');
//use the result and return back string.
}
How can I unit test the getUrlMethod method by mocking off callbackParams using Jest?
Referred to text text, But in my case I am working with wrappers and mocking is doesn’t look straightforward.
New contributor
Udit Singh is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.