@@ -19,7 +19,8 @@ import { updateTestRun } from '../../src/tools/testmanagement-utils/update-testr
19
19
import { createTestCasesFromFile } from '../../src/tools/testmanagement-utils/testcase-from-file' ;
20
20
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js" ;
21
21
import axios from 'axios' ;
22
- import { beforeEach , it , expect , describe , vi , Mock , Mocked } from 'vitest'
22
+ import { beforeEach , it , expect , describe , Mocked } from 'vitest' ;
23
+ import { vi , Mock } from 'vitest' ;
23
24
import fs from 'fs' ;
24
25
import { signedUrlMap } from '../../src/lib/inmemory-store' ;
25
26
@@ -39,10 +40,10 @@ vi.mock('../../src/tools/testmanagement-utils/create-testcase', () => ({
39
40
} ,
40
41
} ) ) ;
41
42
42
- jest . mock ( '../../src/tools/testmanagement-utils/testcase-from-file' , ( ) => ( {
43
- createTestCasesFromFile : jest . fn ( ) ,
43
+ vi . mock ( '../../src/tools/testmanagement-utils/testcase-from-file' , ( ) => ( {
44
+ createTestCasesFromFile : vi . fn ( ) ,
44
45
} ) ) ;
45
- jest . mock ( '../../src/config' , ( ) => ( {
46
+ vi . mock ( '../../src/config' , ( ) => ( {
46
47
__esModule : true ,
47
48
default : {
48
49
browserstackUsername : 'fake-user' ,
@@ -61,14 +62,14 @@ vi.mock('../../src/tools/testmanagement-utils/add-test-result', () => ({
61
62
} ,
62
63
} ) ) ;
63
64
64
- jest . mock ( 'fs' ) ;
65
- jest . mock ( '../../src/lib/inmemory-store' , ( ) => ( { signedUrlMap : new Map ( ) } ) ) ;
65
+ vi . mock ( 'fs' ) ;
66
+ vi . mock ( '../../src/lib/inmemory-store' , ( ) => ( { signedUrlMap : new Map ( ) } ) ) ;
66
67
67
68
const mockServer = {
68
69
tool : vi . fn ( ) ,
69
70
server : {
70
71
getClientVersion : vi . fn ( ( ) => ( {
71
- name : 'jest -client' ,
72
+ name : 'vi -client' ,
72
73
version : '1.0.0' ,
73
74
} ) ) ,
74
75
} ,
@@ -440,21 +441,21 @@ const testDocumentId = "mock-doc-id";
440
441
const testFolderId = "mock-folder-id" ;
441
442
const mockFileId = 12345 ;
442
443
const mockDownloadUrl = "https://cdn.browserstack.com/mock.pdf" ;
443
- const mockContext = { sendNotification : jest . fn ( ) , _meta : { progressToken : "test-progress-token" } } ;
444
+ const mockContext = { sendNotification : vi . fn ( ) , _meta : { progressToken : "test-progress-token" } } ;
444
445
445
446
describe ( "uploadFileTestManagementTool" , ( ) => {
446
- beforeEach ( ( ) => jest . resetAllMocks ( ) ) ;
447
+ beforeEach ( ( ) => vi . resetAllMocks ( ) ) ;
447
448
448
449
it ( "returns error when file does not exist" , async ( ) => {
449
- ( fs . existsSync as jest . Mock ) . mockReturnValue ( false ) ;
450
+ ( fs . existsSync as Mock ) . mockReturnValue ( false ) ;
450
451
const res = await uploadFileTestManagementTool ( { project_identifier : testProjectId , file_path : testFilePath } ) ;
451
452
expect ( res . isError ) . toBe ( true ) ;
452
453
expect ( res . content [ 0 ] . text ) . toContain ( "does not exist" ) ;
453
454
} ) ;
454
455
455
456
it ( "uploads file and returns metadata" , async ( ) => {
456
- ( fs . existsSync as jest . Mock ) . mockReturnValue ( true ) ;
457
- ( fs . createReadStream as jest . Mock ) . mockReturnValue ( "STREAM" ) ;
457
+ ( fs . existsSync as Mock ) . mockReturnValue ( true ) ;
458
+ ( fs . createReadStream as Mock ) . mockReturnValue ( "STREAM" ) ;
458
459
const mockUpload = {
459
460
status : 200 ,
460
461
data : {
@@ -479,12 +480,11 @@ describe("uploadFileTestManagementTool", () => {
479
480
480
481
// Tests for createTestCasesFromFileTool
481
482
describe ( "createTestCasesFromFileTool" , ( ) => {
482
- beforeEach ( ( ) => jest . resetAllMocks ( ) ) ;
483
+ beforeEach ( ( ) => vi . resetAllMocks ( ) ) ;
483
484
484
485
it ( "returns error when document is not in signedUrlMap" , async ( ) => {
485
486
signedUrlMap . clear ( ) ;
486
- // Mock createTestCasesFromFile to throw an error message about re-uploading the file
487
- ( createTestCasesFromFile as jest . Mock ) . mockRejectedValue ( new Error ( "Re-Upload the file" ) ) ;
487
+ ( createTestCasesFromFile as Mock ) . mockRejectedValue ( new Error ( "Re-Upload the file" ) ) ;
488
488
489
489
const args = { documentId : testDocumentId , folderId : testFolderId , projectReferenceId : testProjectId } ;
490
490
const res = await createTestCasesFromFileTool ( args as any , mockContext ) ;
@@ -504,8 +504,6 @@ describe("createTestCasesFromFileTool", () => {
504
504
custom_fields : [ ]
505
505
}
506
506
} ) ;
507
- // Mock the necessary API calls for success
508
-
509
507
mockedAxios . post . mockImplementation ( ( url : string ) => {
510
508
if ( url . includes ( "suggest-test-cases" ) ) {
511
509
return Promise . resolve ( { status : 200 , data : { "x-bstack-traceRequestId" : "trace" } } ) ;
@@ -519,10 +517,7 @@ describe("createTestCasesFromFileTool", () => {
519
517
return Promise . resolve ( { status : 404 , data : { } } ) ;
520
518
} ) ;
521
519
const args = { documentId : testDocumentId , folderId : testFolderId , projectReferenceId : testProjectId } ;
522
-
523
- // Mock the createTestCasesFromFile to return a specific result
524
- // Use the mocked implementation directly instead of require
525
- ( createTestCasesFromFile as jest . Mock ) . mockReturnValue ( {
520
+ ( createTestCasesFromFile as Mock ) . mockReturnValue ( {
526
521
content : [ { type : "text" , text : "Total of 5 test cases created in 2 scenarios." } ] ,
527
522
isError : false
528
523
} ) ;
0 commit comments