209 похожих чатов

Такое определение работает, но как его верно типизировать? Если просто

задать тип UserService будет все его методы и свойства требовать понятно дело. А мне надо часть методов мокнуть

7 ответов

24 просмотра

А через useMocker и createMock не сделать?

Alik-Kotov Автор вопроса
Alexander Morozov
А через useMocker и createMock не сделать?

const mockUsersService = jest.createMockFromModule<UsersService>( '../users/users.service', ); === jest.spyOn(mockUsersService, 'softDeleteUser').mockResolvedValue({ ...userMock, deletedAt: new Date(), }); Property softDeleteUser does not exist in the provided object Такой метод реально есть async softDeleteUser(user: User): Promise<User> { return this.usersRepository.updateUser(user.id, { deletedAt: new Date() }); } Почему то в созданном через createMock моке не все методы есть, которые в реальном сервисе. Как так может быть?

Alik Kotov
const mockUsersService = jest.createMockFromModule...

так вы модуль для теста создайте, а потом мокните оттуда сервис

Alik-Kotov Автор вопроса
384
так вы модуль для теста создайте, а потом мокните ...

const mockUsersService = jest.createMockFromModule<UsersService>( '../users/users.service', ); beforeEach(async () => { const module: TestingModule = await Test.createTestingModule({ imports: [], providers: [ { provide: UsersService, useValue: mockUsersService, }, ], controllers: [AccountController], }).compile(); } mockUsersService.editUserInfo = jest .fn() .mockResolvedValue(editedUserResponseMock); Таким образом уже работает

Alik-Kotov Автор вопроса
384
так вы модуль для теста создайте, а потом мокните ...

При создании модуля я указываю providers: [ { provide: UsersService, useValue: mockUsersService, }, ], То есть я его выше должен создать то создания тестового модуля А можете показать как у Вас?

Похожие вопросы

Обсуждают сегодня

Ready for some fun AND a chance to win TKO Tokens? Join us for exciting minigames in our Telegram group! 🕒 Don’t miss out—games start on today 25 October 2024, at 8 PM! Ge...
Milkyway | Tokocrypto
255
How are we going bro about the Raids ??
🅿️abby_FX
13
Keep saying it, it’s Trump or WW3. Iran will be emboldened if Harris wins by cheating. Israel will have to take the initiative against Iran. How has BTC faired everytime the...
Adz | Ferrum Network Product & Service Consultant @ Ferrum Network
1
------------------------------------------------------------------------------ 📢 MAJOR ANNOUNCEMENT: HSUITE ECOSYSTEM UPDATE 📢 @everyone Dear HbarSuite Community, After month...
Big Stones
3
Ok I will use this example…there has been a crazy amount of meme coins launched on solana and more recently on xrp ledger, many of these memes have found their way on to diffe...
Stevo Payne
7
isnt that how its called? lol
Hobbyist
34
Hey guys, I am a first time Staker, I'm on Chrome browser on Hex dot com, I'm using rabby wallet with my ledger nano X, but when I click the STAKE button it doesn't prompt my ...
Slug
8
Does anyone in here have a contact with EOS Labs that we could ask what they've been doing with their funding?
Bytecode360 Katoshi [1337 f4rm3r]
13
I know it does. The thing is in my case for example, I'm not using desktop (secure VM) for anything else besides nautilus. Even my bank pushed me towards mobile app, they do n...
Navip
2
Cake wallet beta works on Linux?? Anybody?
MR V
7
Карта сайта