Domain layer
🧠 Domain Layer - Lógica de Negocio Pura
Qué testear aquí:
- Reglas de negocio (
canUserPost,validateEmail) - Transformaciones de datos
- Funciones puras (siempre mismo output para mismo input)
Ejemplo:
// features/users/domain/__tests__/user.logic.test.ts
describe('User Validation', () => {
test('corporate email is valid', () => {
expect(isCorporateEmail('[email protected]')).toBe(true);
});
test('calculates level correctly based on points', () => {
const user = { points: 150 };
expect(calculateUserLevel(user)).toBe(3);
});
});
Características:
- ✅ Sin mocks
- ✅ Ejecución instantánea
- ✅ Determinísticos