UNPKG

domain-objects

Version:

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

91 lines 3.04 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const isPropertyNameAReferenceIntuitively_1 = require("./isPropertyNameAReferenceIntuitively"); describe('isPropertyNameAReferenceIntuitively', () => { const cases = [ { propertyName: 'address', domainObjectName: 'Address', expectedResult: { via: 'Address' }, }, { propertyName: 'homeAddress', domainObjectName: 'Address', expectedResult: { via: 'Address' }, }, { propertyName: 'home', domainObjectName: 'Address', expectedResult: false, }, { propertyName: 'engineer', domainObjectName: 'Engineer', expectedResult: { via: 'Engineer' }, }, { propertyName: 'engineers', domainObjectName: 'Engineer', expectedResult: { via: 'Engineer' }, }, { propertyName: 'engineerUuid', domainObjectName: 'Engineer', expectedResult: { via: 'Engineer' }, }, { propertyName: 'leadEngineerUuid', domainObjectName: 'Engineer', expectedResult: { via: 'Engineer' }, }, { propertyName: 'engineerUuids', domainObjectName: 'Engineer', expectedResult: { via: 'Engineer' }, }, { propertyName: 'assignedEngineerUuids', domainObjectName: 'Engineer', expectedResult: { via: 'Engineer' }, }, { propertyName: 'lead', domainObjectName: 'Engineer', expectedResult: false, }, { propertyName: 'leadUuid', domainObjectName: 'Engineer', expectedResult: false, }, { propertyName: 'assignedUuids', domainObjectName: 'Engineer', expectedResult: false, }, { propertyName: 'leadEngineerUuid', domainObjectName: 'LeadEngineer', expectedResult: { via: 'LeadEngineer' }, }, { propertyName: 'headEngineerUuid', domainObjectName: 'LeadEngineer', expectedResult: { via: 'Engineer' }, }, { propertyName: 'engineerUuid', domainObjectName: 'LeadEngineer', expectedResult: { via: 'Engineer' }, }, ]; cases.forEach((testCase) => { it(`should return ${JSON.stringify(testCase.expectedResult)} for ${testCase.propertyName}: ${testCase.domainObjectName}`, () => { expect((0, isPropertyNameAReferenceIntuitively_1.isPropertyNameAReferenceIntuitively)({ propertyName: testCase.propertyName, domainObjectName: testCase.domainObjectName, })).toEqual(testCase.expectedResult); }); }); }); //# sourceMappingURL=isPropertyNameAReferenceIntuitively.test.js.map