@@ -3,6 +3,7 @@ import { Types } from 'mongoose';
3
3
import { CreateProductDto } from 'shared-types' ;
4
4
import { ProductsRepository } from './products.repository' ;
5
5
import { ProductsService } from './products.service' ;
6
+ import { ImagesService } from '../../images/images.service' ;
6
7
7
8
describe ( 'ProductsService' , ( ) => {
8
9
let service : ProductsService ;
@@ -31,6 +32,12 @@ describe('ProductsService', () => {
31
32
countDocuments : jest . fn ( ( ) => 100 ) ,
32
33
} ;
33
34
35
+ const mockImagesService = {
36
+ handleImageDtoAndGetKey : jest . fn ( ( ) => 'img-key' ) ,
37
+ } ;
38
+
39
+ const handleImageDtoAndGetKeySpy = jest . spyOn ( mockImagesService , 'handleImageDtoAndGetKey' ) ;
40
+
34
41
beforeEach ( async ( ) => {
35
42
const module : TestingModule = await Test . createTestingModule ( {
36
43
providers : [
@@ -39,6 +46,10 @@ describe('ProductsService', () => {
39
46
provide : ProductsRepository ,
40
47
useValue : mockProductsRepository ,
41
48
} ,
49
+ {
50
+ provide : ImagesService ,
51
+ useValue : mockImagesService ,
52
+ } ,
42
53
] ,
43
54
} ) . compile ( ) ;
44
55
@@ -61,16 +72,18 @@ describe('ProductsService', () => {
61
72
) ;
62
73
} ) ;
63
74
64
- it ( 'should update product' , ( ) => {
65
- const product = service . update ( new Types . ObjectId ( ) , {
75
+ it ( 'should update product' , async ( ) => {
76
+ const product = await service . update ( new Types . ObjectId ( ) , {
66
77
organizationId : '123' ,
67
78
name : 'updated-product' ,
79
+ image : { hasImage : false } ,
68
80
} ) ;
69
81
expect ( product ) . toEqual (
70
82
expect . objectContaining ( {
71
83
name : 'updated-product' ,
72
84
} ) ,
73
85
) ;
86
+ expect ( handleImageDtoAndGetKeySpy ) . toBeCalled ( ) ;
74
87
} ) ;
75
88
76
89
it ( 'should delete product' , ( ) => {
0 commit comments