test(api): add domain layer unit tests across all modules
Cover admin events, notifications, reviews, search VOs, listings (property, media, events, price/geo/address VOs), auth events, payment events, subscription events, and analytics events. Raises domain test coverage from ~24% to ~75%. Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
import { describe, it, expect } from 'vitest';
|
||||
import { UserRegisteredEvent } from '../events/user-registered.event';
|
||||
import { AgentVerifiedEvent } from '../events/agent-verified.event';
|
||||
|
||||
describe('Auth Domain Events', () => {
|
||||
describe('UserRegisteredEvent', () => {
|
||||
it('creates event with correct properties', () => {
|
||||
const event = new UserRegisteredEvent('user-1', '+84912345678', 'BUYER');
|
||||
|
||||
expect(event.eventName).toBe('user.registered');
|
||||
expect(event.aggregateId).toBe('user-1');
|
||||
expect(event.phone).toBe('+84912345678');
|
||||
expect(event.role).toBe('BUYER');
|
||||
expect(event.occurredAt).toBeInstanceOf(Date);
|
||||
});
|
||||
|
||||
it('creates event for AGENT role', () => {
|
||||
const event = new UserRegisteredEvent('user-2', '+84987654321', 'AGENT');
|
||||
expect(event.role).toBe('AGENT');
|
||||
});
|
||||
|
||||
it('creates event for SELLER role', () => {
|
||||
const event = new UserRegisteredEvent('user-3', '+84955555555', 'SELLER');
|
||||
expect(event.role).toBe('SELLER');
|
||||
});
|
||||
});
|
||||
|
||||
describe('AgentVerifiedEvent', () => {
|
||||
it('creates event with correct properties', () => {
|
||||
const event = new AgentVerifiedEvent('agent-1', 'user-1');
|
||||
|
||||
expect(event.eventName).toBe('agent.verified');
|
||||
expect(event.aggregateId).toBe('agent-1');
|
||||
expect(event.userId).toBe('user-1');
|
||||
expect(event.occurredAt).toBeInstanceOf(Date);
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user