fix: refactor to have child classes that inherit from RecordValue, but represent the distinct types of value objects that can be returned by the api. fix: added and updated tests to address this refactor

This commit is contained in:
Stevan Freeborn
2023-02-13 17:05:50 -06:00
parent ec82dd066e
commit 74d247047e
32 changed files with 1809 additions and 331 deletions
+30
View File
@@ -0,0 +1,30 @@
import { StringListRecordValue } from '../src/models/StringListRecordValue';
import { expect } from 'chai';
describe('StringListRecordValue', function () {
it('should be defined', function () {
expect(StringListRecordValue).to.not.be.undefined;
});
it('should have a constructor', function () {
expect(StringListRecordValue).to.have.property('constructor');
});
it('should hav a constructor that takes a fieldId and value', function () {
expect(StringListRecordValue).to.have.lengthOf(2);
});
it('should have fieldId, value, and type properties', function () {
const stringListRecordValue = new StringListRecordValue(1, []);
expect(stringListRecordValue).to.have.property('fieldId');
expect(stringListRecordValue).to.have.property('value');
expect(stringListRecordValue).to.have.property('type');
});
it('should have a constructor that sets its properties correctly', function () {
const stringListRecordValue = new StringListRecordValue(1, []);
expect(stringListRecordValue.fieldId).to.equal(1);
expect(stringListRecordValue.value).to.deep.equal([]);
expect(stringListRecordValue.type).to.equal('StringList');
});
});