UNPKG

domain-objects

Version:

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

33 lines 1.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const DomainEntity_1 = require("../instantiation/DomainEntity"); const DomainLiteral_1 = require("../instantiation/DomainLiteral"); const getUniqueIdentifierSlug_1 = require("./getUniqueIdentifierSlug"); describe('getUniqueIdentifierSlug', () => { it('should look reasonable for a literal', () => { class Address extends DomainLiteral_1.DomainLiteral { } const address = new Address({ street: '123 Elm Street', city: 'Austin', state: 'TX', postal: '78704', }); const slug = (0, getUniqueIdentifierSlug_1.getUniqueIdentifierSlug)(address); expect(slug).toEqual('Address.Austin.78704.TX.123ElmStreet.e3e858b5d0a134d71970398358e8601acd48a3c7b06f17beadf56319242e180c'); }); it('should look reasonable for an entity', () => { class RocketShip extends DomainEntity_1.DomainEntity { } RocketShip.unique = ['serialNumber']; RocketShip.updatable = ['fuelQuantity', 'passengers']; const ship = new RocketShip({ serialNumber: 'SN5', fuelQuantity: 9001, passengers: 21, }); const slug = (0, getUniqueIdentifierSlug_1.getUniqueIdentifierSlug)(ship); expect(slug).toEqual('RocketShip.SN5.88b02544d3a4e5eb8e803136027931f0d54cb5d6f77ec0e8906afe61928b8046'); }); }); //# sourceMappingURL=getUniqueIdentifierSlug.test.js.map