UNPKG

domain-objects

Version:

A simple, convenient way to represent domain objects, leverage domain knowledge, and add runtime validation in your code base.

28 lines 1.24 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const DomainEvent_1 = require("./DomainEvent"); describe('DomainEvent', () => { it('should be able to represent an event', () => { class OrderPlacedEvent extends DomainEvent_1.DomainEvent { } const event = new OrderPlacedEvent({ orderUuid: '__ORDER_UUID__', customerUuid: '__CUSTOMER_UUID__', occurredAt: '__TIMESTAMP__', }); expect(event.orderUuid).toEqual('__ORDER_UUID__'); // sanity check }); it('should be spreadable', () => { class OrderPlacedEvent extends DomainEvent_1.DomainEvent { } const event = new OrderPlacedEvent({ orderUuid: '__ORDER_UUID__', customerUuid: '__CUSTOMER_UUID__', occurredAt: '__TIMESTAMP__', }); const differentEvent = new OrderPlacedEvent(Object.assign(Object.assign({}, event), { orderUuid: '__DIFFERENT_ORDER_UUID__' })); expect(differentEvent.orderUuid).toEqual('__DIFFERENT_ORDER_UUID__'); // sanity check expect(differentEvent.customerUuid).toEqual('__CUSTOMER_UUID__'); // sanity check }); }); //# sourceMappingURL=DomainEvent.test.js.map