ddd-tool-kit
Version:
A development tool kit for using Domain Driven Design in your Web API Node.js
35 lines (34 loc) • 1.6 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const id_errors_1 = require("./id.errors");
const id_value_object_1 = require("./id.value-object");
describe('id.value-object.spec', () => {
it('should be defined random ID', () => {
const valueObject = id_value_object_1.IdValueObject.getDefault();
expect(valueObject.value).toHaveLength(16);
});
it('should be defined value for ID', () => {
const value = '1234567890123456';
const valueObject = id_value_object_1.IdValueObject.init({ value }).result;
expect(valueObject.value).toEqual(value);
});
it('should be fail if id is not valid', () => {
const value = '321';
const initId = id_value_object_1.IdValueObject.init({ value });
expect(initId.isFailure).toBeTruthy();
expect(initId.result).toEqual(id_errors_1.INVALID_ID);
});
it('should be truthy equal ids', () => {
const valueObject1 = id_value_object_1.IdValueObject.getDefault();
const valueObject2 = id_value_object_1.IdValueObject.init({ value: valueObject1.value })
.result;
const isEqualValueObject = valueObject1.equals(valueObject2);
expect(isEqualValueObject).toBeTruthy();
});
it('should be falsy equal ids', () => {
const valueObject1 = id_value_object_1.IdValueObject.getDefault();
const valueObject2 = id_value_object_1.IdValueObject.getDefault();
const isNotEqualValueObject = valueObject1.equals(valueObject2);
expect(isNotEqualValueObject).toBeFalsy();
});
});