@@ -7,7 +7,9 @@ import fs from 'fs';
77// Mock external dependencies before importing
88vi . mock ( 'fs' ) ;
99vi . mock ( 'path' ) ;
10- vi . mock ( 'turndown' ) ;
10+ vi . mock ( 'turndown' , ( ) => ( {
11+ default : vi . fn ( ) ,
12+ } ) ) ;
1113vi . mock ( 'turndown-plugin-gfm' ) ;
1214vi . mock ( 'playwright' ) ;
1315vi . mock ( 'chromium' ) ;
@@ -48,6 +50,10 @@ import { gfm } from 'turndown-plugin-gfm';
4850import { Browser , chromium , Page } from 'playwright' ;
4951import config from './config.js' ;
5052import path from 'path' ;
53+ import type { Mock } from 'vitest' ;
54+
55+ // Cast mocked TurndownService as Mock
56+ const MockedTurndownService = TurndownService as unknown as Mock ;
5157
5258describe ( 'generate.ts' , ( ) => {
5359 describe ( 'checkDocItemsFileExists' , ( ) => {
@@ -186,12 +192,14 @@ describe('generate.ts', () => {
186192 use : mockUse ,
187193 } as unknown as TurndownService ;
188194
189- // Make the constructor return our mock instance
190- vi . mocked ( TurndownService ) . mockReturnValue ( mockTurndownInstance ) ;
195+ // Make the constructor return our mock instance (using function for constructor)
196+ MockedTurndownService . mockImplementation ( function ( this : unknown ) {
197+ return mockTurndownInstance ;
198+ } ) ;
191199
192200 const result = setupTurndownService ( ) ;
193201
194- expect ( TurndownService ) . toHaveBeenCalled ( ) ;
202+ expect ( MockedTurndownService ) . toHaveBeenCalled ( ) ;
195203 expect ( mockUse ) . toHaveBeenCalledWith ( gfm ) ;
196204 expect ( result ) . toBe ( mockTurndownInstance ) ;
197205 } ) ;
@@ -828,7 +836,9 @@ describe('generate.ts', () => {
828836 use : vi . fn ( ) ,
829837 turndown : vi . fn ( ) . mockReturnValue ( '# Test content' ) ,
830838 } ;
831- vi . mocked ( TurndownService ) . mockReturnValue ( mockTurndownInstance as never ) ;
839+ MockedTurndownService . mockImplementation ( function ( this : unknown ) {
840+ return mockTurndownInstance as never ;
841+ } ) ;
832842
833843 const result = await generateDocumentation ( { force : true } ) ;
834844
@@ -884,7 +894,9 @@ describe('generate.ts', () => {
884894 use : vi . fn ( ) ,
885895 turndown : vi . fn ( ) . mockReturnValue ( '# Test content' ) ,
886896 } ;
887- vi . mocked ( TurndownService ) . mockReturnValue ( mockTurndownInstance as never ) ;
897+ MockedTurndownService . mockImplementation ( function ( this : unknown ) {
898+ return mockTurndownInstance as never ;
899+ } ) ;
888900
889901 await generateDocumentation ( { force : false } ) ;
890902
@@ -915,9 +927,9 @@ describe('generate.ts', () => {
915927 use : vi . fn ( ) ,
916928 turndown : vi . fn ( ) . mockReturnValue ( '# Test content' ) ,
917929 } ;
918- vi . mocked ( TurndownService ) . mockReturnValue (
919- mockTurndownInstance as unknown as TurndownService ,
920- ) ;
930+ MockedTurndownService . mockImplementation ( function ( this : unknown ) {
931+ return mockTurndownInstance as unknown as TurndownService ;
932+ } ) ;
921933
922934 const result = await generateDocumentation ( { force : false } ) ;
923935
@@ -952,7 +964,9 @@ describe('generate.ts', () => {
952964 use : vi . fn ( ) ,
953965 turndown : vi . fn ( ) . mockReturnValue ( '# Test content' ) ,
954966 } ;
955- vi . mocked ( TurndownService ) . mockReturnValue ( mockTurndownInstance as never ) ;
967+ MockedTurndownService . mockImplementation ( function ( this : unknown ) {
968+ return mockTurndownInstance as never ;
969+ } ) ;
956970
957971 const result = await generateDocumentation ( { force : false } ) ;
958972
@@ -1069,7 +1083,9 @@ describe('generate.ts', () => {
10691083 use : vi . fn ( ) ,
10701084 turndown : vi . fn ( ) . mockReturnValue ( '# Test content' ) ,
10711085 } ;
1072- vi . mocked ( TurndownService ) . mockReturnValue ( mockTurndownInstance as never ) ;
1086+ MockedTurndownService . mockImplementation ( function ( this : unknown ) {
1087+ return mockTurndownInstance as never ;
1088+ } ) ;
10731089
10741090 const result = await generateDocumentation ( { force : false } ) ;
10751091
@@ -1165,7 +1181,9 @@ describe('generate.ts', () => {
11651181 use : vi . fn ( ) ,
11661182 turndown : vi . fn ( ) . mockReturnValue ( '# Test content' ) ,
11671183 } ;
1168- vi . mocked ( TurndownService ) . mockReturnValue ( mockTurndownInstance as never ) ;
1184+ MockedTurndownService . mockImplementation ( function ( this : unknown ) {
1185+ return mockTurndownInstance as never ;
1186+ } ) ;
11691187
11701188 await generateDocumentation ( { force : false } , customConfig ) ;
11711189
0 commit comments