@@ -25,23 +25,76 @@ vi.mock('@wdio/reporter', () => {
2525// Mock the API client
2626vi . mock ( '@testplanit/api' , ( ) => {
2727 return {
28- TestPlanItClient : vi . fn ( ) . mockImplementation ( ( ) => ( {
29- getStatuses : vi . fn ( ) . mockResolvedValue ( [
30- { id : 1 , name : 'Passed' , systemName : 'passed' , isSuccess : true , isFailure : false } ,
31- { id : 2 , name : 'Failed' , systemName : 'failed' , isSuccess : false , isFailure : true } ,
32- { id : 3 , name : 'Skipped' , systemName : 'skipped' , isSuccess : false , isFailure : false } ,
33- ] ) ,
34- getStatusId : vi . fn ( ) . mockImplementation ( async ( _projectId : number , status : string ) => {
28+ TestPlanItClient : class MockTestPlanItClient {
29+ async getStatuses ( ) {
30+ return [
31+ { id : 1 , name : 'Passed' , systemName : 'passed' , isSuccess : true , isFailure : false } ,
32+ { id : 2 , name : 'Failed' , systemName : 'failed' , isSuccess : false , isFailure : true } ,
33+ { id : 3 , name : 'Skipped' , systemName : 'skipped' , isSuccess : false , isFailure : false } ,
34+ ] ;
35+ }
36+ async getStatusId ( _projectId : number , status : string ) {
3537 const map : Record < string , number > = { passed : 1 , failed : 2 , skipped : 3 } ;
3638 return map [ status ] ;
37- } ) ,
38- createTestRun : vi . fn ( ) . mockResolvedValue ( { id : 123 , name : 'Test Run' } ) ,
39- getTestRun : vi . fn ( ) . mockResolvedValue ( { id : 123 , name : 'Test Run' } ) ,
40- completeTestRun : vi . fn ( ) . mockResolvedValue ( { id : 123 , isCompleted : true } ) ,
41- findOrAddTestCaseToRun : vi . fn ( ) . mockResolvedValue ( { id : 456 } ) ,
42- createTestResult : vi . fn ( ) . mockResolvedValue ( { id : 789 } ) ,
43- uploadAttachment : vi . fn ( ) . mockResolvedValue ( { id : 1 , path : '/attachments/1' } ) ,
44- } ) ) ,
39+ }
40+ async createTestRun ( ) {
41+ return { id : 123 , name : 'Test Run' } ;
42+ }
43+ async getTestRun ( ) {
44+ return { id : 123 , name : 'Test Run' } ;
45+ }
46+ async completeTestRun ( ) {
47+ return { id : 123 , isCompleted : true } ;
48+ }
49+ async findOrAddTestCaseToRun ( ) {
50+ return { id : 456 } ;
51+ }
52+ async createTestResult ( ) {
53+ return { id : 789 } ;
54+ }
55+ async uploadAttachment ( ) {
56+ return { id : 1 , path : '/attachments/1' } ;
57+ }
58+ async createJUnitTestSuite ( ) {
59+ return { id : 1 , name : 'Test Suite' } ;
60+ }
61+ async createJUnitTestResult ( ) {
62+ return { id : 789 } ;
63+ }
64+ async uploadJUnitAttachment ( ) {
65+ return { id : 1 , path : '/attachments/1' } ;
66+ }
67+ async findTestRunByName ( ) {
68+ return { id : 123 , name : 'Test Run' } ;
69+ }
70+ async findConfigurationByName ( ) {
71+ return { id : 1 , name : 'Configuration' } ;
72+ }
73+ async findMilestoneByName ( ) {
74+ return { id : 1 , name : 'Milestone' } ;
75+ }
76+ async findWorkflowStateByName ( ) {
77+ return { id : 1 , name : 'State' } ;
78+ }
79+ async findFolderByName ( ) {
80+ return { id : 1 , name : 'Folder' } ;
81+ }
82+ async createFolder ( ) {
83+ return { id : 1 , name : 'Folder' } ;
84+ }
85+ async findTemplateByName ( ) {
86+ return { id : 1 , name : 'Template' } ;
87+ }
88+ async resolveTagIds ( ) {
89+ return [ 1 , 2 , 3 ] ;
90+ }
91+ async findOrCreateFolderPath ( ) {
92+ return { id : 1 , name : 'Folder' } ;
93+ }
94+ async findOrCreateTestCase ( ) {
95+ return { testCase : { id : 456 , name : 'Test Case' } , action : 'found' } ;
96+ }
97+ } ,
4598 TestPlanItError : class TestPlanItError extends Error {
4699 constructor ( message : string ) {
47100 super ( message ) ;
@@ -53,8 +106,10 @@ vi.mock('@testplanit/api', () => {
53106
54107// Mock fs module
55108vi . mock ( 'fs' , ( ) => ( {
56- existsSync : vi . fn ( ) . mockReturnValue ( true ) ,
109+ existsSync : vi . fn ( ) . mockReturnValue ( false ) , // No shared state file exists by default
57110 readFileSync : vi . fn ( ) . mockReturnValue ( Buffer . from ( 'fake-image-data' ) ) ,
111+ writeFileSync : vi . fn ( ) ,
112+ unlinkSync : vi . fn ( ) ,
58113} ) ) ;
59114
60115// Import after mocks are set up
0 commit comments