🐛 Bug Report
I am trying to use ts-jest to mock one of my dependencies. This dependency (auth0.ManageClient) has multiple definitions for a same method and overrides it based on the params you pass it:
// Roles
getRoles(): Promise<Role[]>;
getRoles(cb: (err: Error, roles: Role[]) => void): void;
getRoles(params: GetRolesData): Promise<Role[]>;
getRoles(params: GetRolesData, cb: (err: Error, roles: Role[]) => void): void;
getRoles(params: GetRolesDataPaged): Promise<RolePage>;
getRoles(params: GetRolesDataPaged, cb: (err: Error, rolePage: RolePage) => void): void;
When trying to mock the getRoles method, I get the following message: Argument of type X is not assignable to parameter of type 'never'.
I think this is because ts-jest is expecting me to override the getRoles(cb: (err: Error, roles: Role[]) => void): void; which is not what I am trying to do. I want to mock its result with .mockResolvedValue.
To Reproduce
import { ManagementClient } from 'auth0';
import { MockedObjectDeep } from 'ts-jest/dist/utils/testing';
import { mocked } from 'ts-jest/utils';
jest.mock('auth0');
describe('UsersService', () => {
let manageClient: MockedObjectDeep<ManagementClient>;
beforeEach(() => {
jest.clearAllMocks();
manageClient = mocked(
new ManagementClient({
domain: 'DOMAIN',
clientId: 'CLIENT_ID',
clientSecret: 'CLIENT_SECRET',
}),
true
);
});
describe('updateUserRoles', () => {
beforeEach(() => {
manageClient.getRoles.mockResolvedValue([]); // error will show here
});
it('should test something', async () => {
// ...
});
});
});
Expected behavior
Typings should support method overriding.
🐛 Bug Report
I am trying to use
ts-jestto mock one of my dependencies. This dependency (auth0.ManageClient) has multiple definitions for a same method and overrides it based on the params you pass it:When trying to mock the
getRolesmethod, I get the following message:Argument of type X is not assignable to parameter of type 'never'.I think this is because
ts-jestis expecting me to override thegetRoles(cb: (err: Error, roles: Role[]) => void): void;which is not what I am trying to do. I want to mock its result with.mockResolvedValue.To Reproduce
Expected behavior
Typings should support method overriding.