11import type { DomainHandlerMap , ResolvedDomainHandlerMap } from '@api/domain' ;
22import type { Preset } from '@codeimage/prisma-models' ;
3- import * as sinon from 'sinon' ;
4- import { assert , beforeEach , expect , test } from 'vitest' ;
3+ import { assert , beforeEach , expect , test , vi } from 'vitest' ;
54import { create } from '../../../../src/modules/preset/handlers/create.js' ;
65import type { PresetHandlerDependencies } from '../../../../src/modules/preset/handlers/index.js' ;
76import type { PresetCreateDto } from '../../../../src/modules/preset/schema/preset-create-dto.schema.js' ;
@@ -11,7 +10,7 @@ import {dependencies} from './dependencies.js';
1110
1211const handlersStub = { } as ResolvedDomainHandlerMap < DomainHandlerMap > ;
1312
14- beforeEach ( ( ) => sinon . restore ( ) ) ;
13+ beforeEach ( ( ) => vi . restoreAllMocks ( ) ) ;
1514
1615test ( 'when findById and found result' , async ( ) => {
1716 const id = 'preset-1' ;
@@ -41,16 +40,16 @@ test('when findById and found result', async () => {
4140 data : testPresetUtils . buildPresetData ( ) ,
4241 } ;
4342
44- sinon . stub ( dependencies . config , 'PRESETS_LIMIT' ) . value ( 10 ) ;
45- sinon . stub ( dependencies . repository , 'countByOwnerId' ) . resolves ( 0 ) ;
43+ vi . spyOn ( dependencies . config , 'PRESETS_LIMIT' , 'get' ) . mockReturnValue ( 10 ) ;
44+ vi . spyOn ( dependencies . repository , 'countByOwnerId' ) . mockResolvedValue ( 0 ) ;
4645
47- const createStub = sinon
48- . stub ( dependencies . repository , 'create' )
49- . resolves ( savedPreset ) ;
46+ const createStub = vi
47+ . spyOn ( dependencies . repository , 'create' )
48+ . mockResolvedValue ( savedPreset ) ;
5049
51- const fromEntityToDtoStub = sinon
52- . stub ( dependencies . mapper , 'fromEntityToDto' )
53- . resolves ( expected ) ;
50+ const fromEntityToDtoStub = vi
51+ . spyOn ( dependencies . mapper , 'fromEntityToDto' )
52+ . mockResolvedValue ( expected ) ;
5453
5554 const result = await create (
5655 dependencies as unknown as PresetHandlerDependencies ,
@@ -59,10 +58,14 @@ test('when findById and found result', async () => {
5958 } ,
6059 ) ( ownerId , request ) ;
6160
62- assert . ok (
63- createStub . calledOnceWithExactly ( { ...request , version : BigInt ( 1 ) , ownerId} ) ,
64- ) ;
65- assert . ok ( fromEntityToDtoStub . calledOnceWithExactly ( savedPreset ) ) ;
61+ expect ( createStub ) . toHaveBeenCalledTimes ( 1 ) ;
62+ expect ( createStub ) . toHaveBeenCalledWith ( {
63+ ...request ,
64+ version : BigInt ( 1 ) ,
65+ ownerId,
66+ } ) ;
67+ expect ( fromEntityToDtoStub ) . toHaveBeenCalledTimes ( 1 ) ;
68+ expect ( fromEntityToDtoStub ) . toHaveBeenCalledWith ( savedPreset ) ;
6669
6770 assert . equal ( result , expected ) ;
6871} ) ;
@@ -86,24 +89,21 @@ test('throw error when exceed limit', async () => {
8689 ownerId,
8790 } ;
8891
89- sinon . stub ( dependencies . config , 'PRESETS_LIMIT' ) . value ( 1 ) ;
90- sinon . stub ( dependencies . repository , 'countByOwnerId' ) . resolves ( 10 ) ;
92+ vi . spyOn ( dependencies . config , 'PRESETS_LIMIT' , 'get' ) . mockReturnValue ( 1 ) ;
93+ vi . spyOn ( dependencies . repository , 'countByOwnerId' ) . mockResolvedValue ( 10 ) ;
9194
92- const createStub = sinon
93- . stub ( dependencies . repository , 'create' )
94- . resolves ( savedPreset ) ;
95+ const createStub = vi
96+ . spyOn ( dependencies . repository , 'create' )
97+ . mockResolvedValue ( savedPreset ) ;
9598
96- const fromEntityToDtoStub = sinon . stub (
97- dependencies . mapper ,
98- 'fromEntityToDto' ,
99- ) ;
99+ const fromEntityToDtoStub = vi . spyOn ( dependencies . mapper , 'fromEntityToDto' ) ;
100100
101101 await expect (
102102 create ( dependencies as unknown as PresetHandlerDependencies , {
103103 handlers : handlersStub ,
104104 } ) ( ownerId , request ) ,
105105 ) . rejects . toThrow ( ) ;
106106
107- assert . ok ( createStub . notCalled ) ;
108- assert . ok ( fromEntityToDtoStub . notCalled ) ;
107+ expect ( createStub ) . not . toHaveBeenCalled ( ) ;
108+ expect ( fromEntityToDtoStub ) . not . toHaveBeenCalled ( ) ;
109109} ) ;
0 commit comments