Ringtone app
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

44 lines
1.2 KiB

  1. import {PrismaClient as RealPrismaClient} from '@prisma/client';
  2. import RingtoneService from './service';
  3. import {models} from '@tonality/library-common';
  4. import {container} from 'tsyringe';
  5. import {MockPrismaRepository} from '../../utils/mocks';
  6. import Uuid from '@tonality/library-uuid';
  7. import globalBootstrap from '../../global'
  8. import bootstrap from '.'
  9. jest.mock('@prisma/client')
  10. const PrismaClient = RealPrismaClient as jest.Mock
  11. describe('ringtone service', () => {
  12. let ringtoneService: RingtoneService
  13. beforeAll(() => {
  14. globalBootstrap(container)
  15. })
  16. beforeAll(() => {
  17. bootstrap(container)
  18. })
  19. beforeEach(() => {
  20. PrismaClient.mockImplementationOnce(() => ({
  21. ringtone: new MockPrismaRepository<models.Ringtone>([], 'id'),
  22. }))
  23. })
  24. beforeEach(() => {
  25. ringtoneService = container.resolve('RingtoneService')
  26. })
  27. describe('retrieval of single ringtone', () => {
  28. it('should get from the repository', async () => {
  29. const prismaClient: RealPrismaClient = container.resolve('PrismaClient')
  30. console.log(prismaClient)
  31. const findUnique = jest.spyOn(prismaClient.ringtone, 'findUnique')
  32. await ringtoneService.get(Uuid.new())
  33. expect(findUnique).toBeCalled()
  34. })
  35. })
  36. })