UNPKG

domain-objects

Version:

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

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