A personal media tracker built on the AT Protocol opnshelf.xyz
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

refactor: update FirehoseEvent type to make properties optional, introduce MockPrismaService for improved testing, and enhance error handling in IngesterService tests

+19 -7
+19 -7
backend/src/ingester/ingester.service.spec.ts
··· 34 34 watchedAt?: string; 35 35 createdAt?: string; 36 36 }; 37 - uri: { 37 + uri?: { 38 38 toString: () => string; 39 39 }; 40 - rkey: string; 40 + rkey?: string; 41 41 cid?: { toString: () => string }; 42 42 author?: string; 43 43 }; ··· 45 45 type HandleEventCallback = (event: FirehoseEvent) => Promise<void>; 46 46 type OnErrorCallback = (err: { message: string }) => void; 47 47 48 + type MockPrismaService = { 49 + user: { 50 + findUnique: jest.Mock; 51 + }; 52 + trackedMovie: { 53 + upsert: jest.Mock; 54 + deleteMany: jest.Mock; 55 + }; 56 + }; 57 + 48 58 describe('IngesterService', () => { 49 59 let service: IngesterService; 50 - let mockPrismaService: jest.Mocked<PrismaService>; 60 + let mockPrismaService: MockPrismaService; 51 61 let mockFirehoseInstance: { start: jest.Mock; destroy: jest.Mock }; 52 62 53 63 const mockConfigService = { ··· 73 83 upsert: jest.fn(), 74 84 deleteMany: jest.fn(), 75 85 }, 76 - } as unknown as jest.Mocked<PrismaService>; 86 + }; 77 87 78 88 const module: TestingModule = await Test.createTestingModule({ 79 89 providers: [ ··· 532 542 await new Promise((resolve) => setTimeout(resolve, 10)); 533 543 534 544 // Should not throw when onError is called 535 - if (onErrorCallback) { 536 - expect(() => onErrorCallback({ message: 'Test error' })).not.toThrow(); 537 - } 545 + expect(() => { 546 + if (onErrorCallback) { 547 + onErrorCallback({ message: 'Test error' }); 548 + } 549 + }).not.toThrow(); 538 550 }); 539 551 }); 540 552 });