From ff05715fd51b44242202a0ff1719c5734e9a55b7 Mon Sep 17 00:00:00 2001 From: Tom Mrazauskas Date: Fri, 12 Aug 2022 09:15:23 +0300 Subject: [PATCH] add assignability tests --- .../jest-mock/__typetests__/Mocked.test.ts | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/packages/jest-mock/__typetests__/Mocked.test.ts b/packages/jest-mock/__typetests__/Mocked.test.ts index 0b359f6d8e12..945bda233e6d 100644 --- a/packages/jest-mock/__typetests__/Mocked.test.ts +++ b/packages/jest-mock/__typetests__/Mocked.test.ts @@ -46,20 +46,22 @@ expectType<[a: string, b?: number]>( MockSomeClass.prototype.methodB.mock.calls[0], ); -const mockExample = new MockSomeClass('c') as Mocked< +const mockSomeInstance = new MockSomeClass('a') as Mocked< InstanceType >; -expectType<[]>(mockExample.methodA.mock.calls[0]); -expectType<[a: string, b?: number]>(mockExample.methodB.mock.calls[0]); +expectType<[]>(mockSomeInstance.methodA.mock.calls[0]); +expectType<[a: string, b?: number]>(mockSomeInstance.methodB.mock.calls[0]); -expectError(mockExample.methodA.mockReturnValue('true')); +expectError(mockSomeInstance.methodA.mockReturnValue('true')); expectError( - mockExample.methodB.mockImplementation((a: string, b?: string) => { + mockSomeInstance.methodB.mockImplementation((a: string, b?: string) => { return; }), ); +expectAssignable(mockSomeInstance); + // mocks function function someFunction(a: string, b?: number): boolean { @@ -73,6 +75,8 @@ expectType<[a: string, b?: number]>(mockFunction.mock.calls[0]); expectError(mockFunction.mockReturnValue(123)); expectError(mockFunction.mockImplementation((a: boolean, b?: number) => true)); +expectAssignable(mockFunction); + // mocks async function async function someAsyncFunction(a: Array): Promise { @@ -90,6 +94,8 @@ expectError( ), ); +expectAssignable(mockAsyncFunction); + // mocks function object interface SomeFunctionObject { @@ -124,6 +130,8 @@ expectError( }), ); +expectAssignable(mockFunctionObject); + // mocks object const mockConsole = console as Mocked;