fix adapters
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
import { beforeEach, describe, expect, it, vi } from 'vitest';
|
||||
import type { Logger } from '@core/shared/application';
|
||||
import { NotificationPreference } from '@core/notifications/domain/entities/NotificationPreference';
|
||||
import { InMemoryNotificationPreferenceRepository } from './InMemoryNotificationPreferenceRepository';
|
||||
|
||||
describe('InMemoryNotificationPreferenceRepository', () => {
|
||||
let repository: InMemoryNotificationPreferenceRepository;
|
||||
let logger: Logger;
|
||||
|
||||
beforeEach(() => {
|
||||
logger = {
|
||||
debug: vi.fn(),
|
||||
info: vi.fn(),
|
||||
warn: vi.fn(),
|
||||
error: vi.fn(),
|
||||
} as unknown as Logger;
|
||||
|
||||
repository = new InMemoryNotificationPreferenceRepository(logger);
|
||||
});
|
||||
|
||||
it('returns default preferences when missing', async () => {
|
||||
const pref = await repository.getOrCreateDefault('driver-1');
|
||||
expect(pref).toBeInstanceOf(NotificationPreference);
|
||||
expect(pref.driverId).toBe('driver-1');
|
||||
|
||||
const found = await repository.findByDriverId('driver-1');
|
||||
expect(found?.driverId).toBe('driver-1');
|
||||
});
|
||||
|
||||
it('saves and deletes', async () => {
|
||||
const pref = NotificationPreference.createDefault('driver-2');
|
||||
await repository.save(pref);
|
||||
|
||||
expect((await repository.findByDriverId('driver-2'))?.driverId).toBe('driver-2');
|
||||
|
||||
await repository.delete('driver-2');
|
||||
expect(await repository.findByDriverId('driver-2')).toBeNull();
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user