feat: AMD -> ES6 (#7029)
* feat: full amd -> es6 conversion * fix: move MCT to ES6 class * fix: default drop, correct imports * fix: correct all imports * fix: property typo * fix: avoid anonymous functions * fix: correct typo scarily small - can see why this e2e coverage issue is high priority * fix: use proper uuid format * style: fmt * fix: import vue correctly, get correct layout * fix: createApp without JSON fixes template issues * fix: don't use default on InspectorDataVisualization * fix: remove more .default calls * Update src/api/api.js Co-authored-by: Jesse Mazzella <ozyx@users.noreply.github.com> * Update src/plugins/plugins.js Co-authored-by: Jesse Mazzella <ozyx@users.noreply.github.com> * Update src/plugins/plugins.js Co-authored-by: Jesse Mazzella <ozyx@users.noreply.github.com> * fix: suggestions * fix: drop unnecessary this.annotation initialization * fix: move all initialization calls to constructor * refactor: move vue dist import to webpack alias --------- Co-authored-by: Jesse Mazzella <ozyx@users.noreply.github.com>
This commit is contained in:
@@ -1,167 +1,167 @@
|
||||
define(['../src/TestDataItem'], function (TestDataItem) {
|
||||
describe('A summary widget test data item', function () {
|
||||
let testDataItem;
|
||||
let mockConfig;
|
||||
let mockConditionManager;
|
||||
let mockContainer;
|
||||
let mockEvaluator;
|
||||
let changeSpy;
|
||||
let duplicateSpy;
|
||||
let removeSpy;
|
||||
let generateValueSpy;
|
||||
import TestDataItem from '../src/TestDataItem';
|
||||
|
||||
beforeEach(function () {
|
||||
mockContainer = document.createElement('div');
|
||||
describe('A summary widget test data item', function () {
|
||||
let testDataItem;
|
||||
let mockConfig;
|
||||
let mockConditionManager;
|
||||
let mockContainer;
|
||||
let mockEvaluator;
|
||||
let changeSpy;
|
||||
let duplicateSpy;
|
||||
let removeSpy;
|
||||
let generateValueSpy;
|
||||
|
||||
mockConfig = {
|
||||
object: 'object1',
|
||||
key: 'property1',
|
||||
value: 1
|
||||
};
|
||||
beforeEach(function () {
|
||||
mockContainer = document.createElement('div');
|
||||
|
||||
mockEvaluator = {};
|
||||
mockEvaluator.getInputTypeById = jasmine.createSpy('inputType');
|
||||
mockConfig = {
|
||||
object: 'object1',
|
||||
key: 'property1',
|
||||
value: 1
|
||||
};
|
||||
|
||||
mockConditionManager = jasmine.createSpyObj('mockConditionManager', [
|
||||
'on',
|
||||
'getComposition',
|
||||
'loadCompleted',
|
||||
'getEvaluator',
|
||||
'getTelemetryMetadata',
|
||||
'metadataLoadCompleted',
|
||||
'getObjectName',
|
||||
'getTelemetryPropertyName',
|
||||
'getTelemetryPropertyType'
|
||||
]);
|
||||
mockConditionManager.loadCompleted.and.returnValue(false);
|
||||
mockConditionManager.metadataLoadCompleted.and.returnValue(false);
|
||||
mockConditionManager.getEvaluator.and.returnValue(mockEvaluator);
|
||||
mockConditionManager.getComposition.and.returnValue({});
|
||||
mockConditionManager.getTelemetryMetadata.and.returnValue({});
|
||||
mockConditionManager.getObjectName.and.returnValue('Object Name');
|
||||
mockConditionManager.getTelemetryPropertyName.and.returnValue('Property Name');
|
||||
mockConditionManager.getTelemetryPropertyType.and.returnValue('');
|
||||
mockEvaluator = {};
|
||||
mockEvaluator.getInputTypeById = jasmine.createSpy('inputType');
|
||||
|
||||
duplicateSpy = jasmine.createSpy('duplicate');
|
||||
removeSpy = jasmine.createSpy('remove');
|
||||
changeSpy = jasmine.createSpy('change');
|
||||
generateValueSpy = jasmine.createSpy('generateValueInput');
|
||||
mockConditionManager = jasmine.createSpyObj('mockConditionManager', [
|
||||
'on',
|
||||
'getComposition',
|
||||
'loadCompleted',
|
||||
'getEvaluator',
|
||||
'getTelemetryMetadata',
|
||||
'metadataLoadCompleted',
|
||||
'getObjectName',
|
||||
'getTelemetryPropertyName',
|
||||
'getTelemetryPropertyType'
|
||||
]);
|
||||
mockConditionManager.loadCompleted.and.returnValue(false);
|
||||
mockConditionManager.metadataLoadCompleted.and.returnValue(false);
|
||||
mockConditionManager.getEvaluator.and.returnValue(mockEvaluator);
|
||||
mockConditionManager.getComposition.and.returnValue({});
|
||||
mockConditionManager.getTelemetryMetadata.and.returnValue({});
|
||||
mockConditionManager.getObjectName.and.returnValue('Object Name');
|
||||
mockConditionManager.getTelemetryPropertyName.and.returnValue('Property Name');
|
||||
mockConditionManager.getTelemetryPropertyType.and.returnValue('');
|
||||
|
||||
testDataItem = new TestDataItem(mockConfig, 54, mockConditionManager);
|
||||
duplicateSpy = jasmine.createSpy('duplicate');
|
||||
removeSpy = jasmine.createSpy('remove');
|
||||
changeSpy = jasmine.createSpy('change');
|
||||
generateValueSpy = jasmine.createSpy('generateValueInput');
|
||||
|
||||
testDataItem.on('duplicate', duplicateSpy);
|
||||
testDataItem.on('remove', removeSpy);
|
||||
testDataItem.on('change', changeSpy);
|
||||
testDataItem = new TestDataItem(mockConfig, 54, mockConditionManager);
|
||||
|
||||
testDataItem.on('duplicate', duplicateSpy);
|
||||
testDataItem.on('remove', removeSpy);
|
||||
testDataItem.on('change', changeSpy);
|
||||
});
|
||||
|
||||
it('exposes a DOM element to represent itself in the view', function () {
|
||||
mockContainer.append(testDataItem.getDOM());
|
||||
expect(mockContainer.querySelectorAll('.t-test-data-item').length).toEqual(1);
|
||||
});
|
||||
|
||||
it('responds to a change in its object select', function () {
|
||||
testDataItem.selects.object.setSelected('');
|
||||
expect(changeSpy).toHaveBeenCalledWith({
|
||||
value: '',
|
||||
property: 'object',
|
||||
index: 54
|
||||
});
|
||||
});
|
||||
|
||||
it('responds to a change in its key select', function () {
|
||||
testDataItem.generateValueInput = generateValueSpy;
|
||||
testDataItem.selects.key.setSelected('');
|
||||
expect(changeSpy).toHaveBeenCalledWith({
|
||||
value: '',
|
||||
property: 'key',
|
||||
index: 54
|
||||
});
|
||||
expect(generateValueSpy).toHaveBeenCalledWith('');
|
||||
});
|
||||
|
||||
it('generates a value input of the appropriate type', function () {
|
||||
let inputs;
|
||||
|
||||
mockContainer.append(testDataItem.getDOM());
|
||||
mockEvaluator.getInputTypeById.and.returnValue('number');
|
||||
testDataItem.generateValueInput('');
|
||||
|
||||
inputs = mockContainer.querySelectorAll('input');
|
||||
const numberInputs = Array.from(inputs).filter((input) => input.type === 'number');
|
||||
|
||||
expect(numberInputs.length).toEqual(1);
|
||||
expect(inputs[0].valueAsNumber).toEqual(1);
|
||||
|
||||
mockEvaluator.getInputTypeById.and.returnValue('text');
|
||||
testDataItem.config.value = 'Text I Am';
|
||||
testDataItem.generateValueInput('');
|
||||
|
||||
inputs = mockContainer.querySelectorAll('input');
|
||||
const textInputs = Array.from(inputs).filter((input) => input.type === 'text');
|
||||
|
||||
expect(textInputs.length).toEqual(1);
|
||||
expect(inputs[0].value).toEqual('Text I Am');
|
||||
});
|
||||
|
||||
it('ensures reasonable defaults on values if none are provided', function () {
|
||||
let inputs;
|
||||
|
||||
mockContainer.append(testDataItem.getDOM());
|
||||
|
||||
mockEvaluator.getInputTypeById.and.returnValue('number');
|
||||
testDataItem.config.value = undefined;
|
||||
testDataItem.generateValueInput('');
|
||||
|
||||
inputs = mockContainer.querySelectorAll('input');
|
||||
const numberInputs = Array.from(inputs).filter((input) => input.type === 'number');
|
||||
|
||||
expect(numberInputs.length).toEqual(1);
|
||||
expect(inputs[0].valueAsNumber).toEqual(0);
|
||||
expect(testDataItem.config.value).toEqual(0);
|
||||
|
||||
mockEvaluator.getInputTypeById.and.returnValue('text');
|
||||
testDataItem.config.value = undefined;
|
||||
testDataItem.generateValueInput('');
|
||||
|
||||
inputs = mockContainer.querySelectorAll('input');
|
||||
const textInputs = Array.from(inputs).filter((input) => input.type === 'text');
|
||||
|
||||
expect(textInputs.length).toEqual(1);
|
||||
expect(inputs[0].value).toEqual('');
|
||||
expect(testDataItem.config.value).toEqual('');
|
||||
});
|
||||
|
||||
it('responds to a change in its value inputs', function () {
|
||||
mockContainer.append(testDataItem.getDOM());
|
||||
mockEvaluator.getInputTypeById.and.returnValue('number');
|
||||
testDataItem.generateValueInput('');
|
||||
|
||||
const event = new Event('input', {
|
||||
bubbles: true,
|
||||
cancelable: true
|
||||
});
|
||||
|
||||
it('exposes a DOM element to represent itself in the view', function () {
|
||||
mockContainer.append(testDataItem.getDOM());
|
||||
expect(mockContainer.querySelectorAll('.t-test-data-item').length).toEqual(1);
|
||||
mockContainer.querySelector('input').value = 9001;
|
||||
mockContainer.querySelector('input').dispatchEvent(event);
|
||||
|
||||
expect(changeSpy).toHaveBeenCalledWith({
|
||||
value: 9001,
|
||||
property: 'value',
|
||||
index: 54
|
||||
});
|
||||
});
|
||||
|
||||
it('responds to a change in its object select', function () {
|
||||
testDataItem.selects.object.setSelected('');
|
||||
expect(changeSpy).toHaveBeenCalledWith({
|
||||
value: '',
|
||||
property: 'object',
|
||||
index: 54
|
||||
});
|
||||
});
|
||||
it('can remove itself from the configuration', function () {
|
||||
testDataItem.remove();
|
||||
expect(removeSpy).toHaveBeenCalledWith(54);
|
||||
});
|
||||
|
||||
it('responds to a change in its key select', function () {
|
||||
testDataItem.generateValueInput = generateValueSpy;
|
||||
testDataItem.selects.key.setSelected('');
|
||||
expect(changeSpy).toHaveBeenCalledWith({
|
||||
value: '',
|
||||
property: 'key',
|
||||
index: 54
|
||||
});
|
||||
expect(generateValueSpy).toHaveBeenCalledWith('');
|
||||
});
|
||||
|
||||
it('generates a value input of the appropriate type', function () {
|
||||
let inputs;
|
||||
|
||||
mockContainer.append(testDataItem.getDOM());
|
||||
mockEvaluator.getInputTypeById.and.returnValue('number');
|
||||
testDataItem.generateValueInput('');
|
||||
|
||||
inputs = mockContainer.querySelectorAll('input');
|
||||
const numberInputs = Array.from(inputs).filter((input) => input.type === 'number');
|
||||
|
||||
expect(numberInputs.length).toEqual(1);
|
||||
expect(inputs[0].valueAsNumber).toEqual(1);
|
||||
|
||||
mockEvaluator.getInputTypeById.and.returnValue('text');
|
||||
testDataItem.config.value = 'Text I Am';
|
||||
testDataItem.generateValueInput('');
|
||||
|
||||
inputs = mockContainer.querySelectorAll('input');
|
||||
const textInputs = Array.from(inputs).filter((input) => input.type === 'text');
|
||||
|
||||
expect(textInputs.length).toEqual(1);
|
||||
expect(inputs[0].value).toEqual('Text I Am');
|
||||
});
|
||||
|
||||
it('ensures reasonable defaults on values if none are provided', function () {
|
||||
let inputs;
|
||||
|
||||
mockContainer.append(testDataItem.getDOM());
|
||||
|
||||
mockEvaluator.getInputTypeById.and.returnValue('number');
|
||||
testDataItem.config.value = undefined;
|
||||
testDataItem.generateValueInput('');
|
||||
|
||||
inputs = mockContainer.querySelectorAll('input');
|
||||
const numberInputs = Array.from(inputs).filter((input) => input.type === 'number');
|
||||
|
||||
expect(numberInputs.length).toEqual(1);
|
||||
expect(inputs[0].valueAsNumber).toEqual(0);
|
||||
expect(testDataItem.config.value).toEqual(0);
|
||||
|
||||
mockEvaluator.getInputTypeById.and.returnValue('text');
|
||||
testDataItem.config.value = undefined;
|
||||
testDataItem.generateValueInput('');
|
||||
|
||||
inputs = mockContainer.querySelectorAll('input');
|
||||
const textInputs = Array.from(inputs).filter((input) => input.type === 'text');
|
||||
|
||||
expect(textInputs.length).toEqual(1);
|
||||
expect(inputs[0].value).toEqual('');
|
||||
expect(testDataItem.config.value).toEqual('');
|
||||
});
|
||||
|
||||
it('responds to a change in its value inputs', function () {
|
||||
mockContainer.append(testDataItem.getDOM());
|
||||
mockEvaluator.getInputTypeById.and.returnValue('number');
|
||||
testDataItem.generateValueInput('');
|
||||
|
||||
const event = new Event('input', {
|
||||
bubbles: true,
|
||||
cancelable: true
|
||||
});
|
||||
|
||||
mockContainer.querySelector('input').value = 9001;
|
||||
mockContainer.querySelector('input').dispatchEvent(event);
|
||||
|
||||
expect(changeSpy).toHaveBeenCalledWith({
|
||||
value: 9001,
|
||||
property: 'value',
|
||||
index: 54
|
||||
});
|
||||
});
|
||||
|
||||
it('can remove itself from the configuration', function () {
|
||||
testDataItem.remove();
|
||||
expect(removeSpy).toHaveBeenCalledWith(54);
|
||||
});
|
||||
|
||||
it('can duplicate itself', function () {
|
||||
testDataItem.duplicate();
|
||||
expect(duplicateSpy).toHaveBeenCalledWith({
|
||||
sourceItem: mockConfig,
|
||||
index: 54
|
||||
});
|
||||
it('can duplicate itself', function () {
|
||||
testDataItem.duplicate();
|
||||
expect(duplicateSpy).toHaveBeenCalledWith({
|
||||
sourceItem: mockConfig,
|
||||
index: 54
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user