* 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>
148 lines
3.7 KiB
JavaScript
148 lines
3.7 KiB
JavaScript
import objectUtils from 'objectUtils';
|
|
|
|
describe('objectUtils', function () {
|
|
describe('keyString util', function () {
|
|
const EXPECTATIONS = {
|
|
ROOT: {
|
|
namespace: '',
|
|
key: 'ROOT'
|
|
},
|
|
mine: {
|
|
namespace: '',
|
|
key: 'mine'
|
|
},
|
|
'extended:something:with:colons': {
|
|
key: 'something:with:colons',
|
|
namespace: 'extended'
|
|
},
|
|
'https\\://some/url:resourceId': {
|
|
key: 'resourceId',
|
|
namespace: 'https://some/url'
|
|
},
|
|
'scratch:root': {
|
|
namespace: 'scratch',
|
|
key: 'root'
|
|
},
|
|
'thingy\\:thing:abc123': {
|
|
namespace: 'thingy:thing',
|
|
key: 'abc123'
|
|
}
|
|
};
|
|
|
|
Object.keys(EXPECTATIONS).forEach(function (keyString) {
|
|
it('parses "' + keyString + '".', function () {
|
|
expect(objectUtils.parseKeyString(keyString)).toEqual(EXPECTATIONS[keyString]);
|
|
});
|
|
|
|
it('parses and re-encodes "' + keyString + '"', function () {
|
|
const identifier = objectUtils.parseKeyString(keyString);
|
|
expect(objectUtils.makeKeyString(identifier)).toEqual(keyString);
|
|
});
|
|
|
|
it('is idempotent for "' + keyString + '".', function () {
|
|
const identifier = objectUtils.parseKeyString(keyString);
|
|
let again = objectUtils.parseKeyString(identifier);
|
|
expect(identifier).toEqual(again);
|
|
again = objectUtils.parseKeyString(again);
|
|
again = objectUtils.parseKeyString(again);
|
|
expect(identifier).toEqual(again);
|
|
|
|
let againKeyString = objectUtils.makeKeyString(again);
|
|
expect(againKeyString).toEqual(keyString);
|
|
againKeyString = objectUtils.makeKeyString(againKeyString);
|
|
againKeyString = objectUtils.makeKeyString(againKeyString);
|
|
againKeyString = objectUtils.makeKeyString(againKeyString);
|
|
expect(againKeyString).toEqual(keyString);
|
|
});
|
|
});
|
|
});
|
|
|
|
describe('old object conversions', function () {
|
|
it('translate ids', function () {
|
|
expect(
|
|
objectUtils.toNewFormat(
|
|
{
|
|
prop: 'someValue'
|
|
},
|
|
'objId'
|
|
)
|
|
).toEqual({
|
|
prop: 'someValue',
|
|
identifier: {
|
|
namespace: '',
|
|
key: 'objId'
|
|
}
|
|
});
|
|
});
|
|
|
|
it('translates composition', function () {
|
|
expect(
|
|
objectUtils.toNewFormat(
|
|
{
|
|
prop: 'someValue',
|
|
composition: ['anotherObjectId', 'scratch:anotherObjectId']
|
|
},
|
|
'objId'
|
|
)
|
|
).toEqual({
|
|
prop: 'someValue',
|
|
composition: [
|
|
{
|
|
namespace: '',
|
|
key: 'anotherObjectId'
|
|
},
|
|
{
|
|
namespace: 'scratch',
|
|
key: 'anotherObjectId'
|
|
}
|
|
],
|
|
identifier: {
|
|
namespace: '',
|
|
key: 'objId'
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
describe('new object conversions', function () {
|
|
it('removes ids', function () {
|
|
expect(
|
|
objectUtils.toOldFormat({
|
|
prop: 'someValue',
|
|
identifier: {
|
|
namespace: '',
|
|
key: 'objId'
|
|
}
|
|
})
|
|
).toEqual({
|
|
prop: 'someValue'
|
|
});
|
|
});
|
|
|
|
it('translates composition', function () {
|
|
expect(
|
|
objectUtils.toOldFormat({
|
|
prop: 'someValue',
|
|
composition: [
|
|
{
|
|
namespace: '',
|
|
key: 'anotherObjectId'
|
|
},
|
|
{
|
|
namespace: 'scratch',
|
|
key: 'anotherObjectId'
|
|
}
|
|
],
|
|
identifier: {
|
|
namespace: '',
|
|
key: 'objId'
|
|
}
|
|
})
|
|
).toEqual({
|
|
prop: 'someValue',
|
|
composition: ['anotherObjectId', 'scratch:anotherObjectId']
|
|
});
|
|
});
|
|
});
|
|
});
|