domain-objects
Version:
A simple, convenient way to represent domain objects, leverage domain knowledge, and add runtime validation in your code base.
30 lines • 1.16 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const DomainLiteral_1 = require("./DomainLiteral");
describe('DomainLiteral', () => {
it('should be able to represent a literal', () => {
class Address extends DomainLiteral_1.DomainLiteral {
}
const address = new Address({
street: '123 Elm Street',
city: 'Austin',
state: 'TX',
postal: '78704',
});
expect(address.city).toEqual('Austin'); // sanity check
});
it('should be spreadable', () => {
class Address extends DomainLiteral_1.DomainLiteral {
}
const address = new Address({
street: '123 Elm Street',
city: 'Austin',
state: 'TX',
postal: '78704',
});
const differentAddress = new Address(Object.assign(Object.assign({}, address), { street: '456 Bluebonnet Ave' }));
expect(differentAddress.city).toEqual('Austin'); // sanity check
expect(differentAddress.street).toEqual('456 Bluebonnet Ave'); // sanity check
});
});
//# sourceMappingURL=DomainLiteral.test.js.map