140 lines
4.9 KiB
JavaScript
140 lines
4.9 KiB
JavaScript
import { createOpenMct, resetApplicationState } from 'utils/testing';
|
|
|
|
let openmct;
|
|
let element;
|
|
let child;
|
|
let appHolder;
|
|
let resolveFunction;
|
|
|
|
let initialHash = '';
|
|
|
|
xdescribe('Application router utility functions', () => {
|
|
beforeAll(done => {
|
|
appHolder = document.createElement('div');
|
|
appHolder.style.width = '640px';
|
|
appHolder.style.height = '480px';
|
|
|
|
openmct = createOpenMct();
|
|
openmct.install(openmct.plugins.MyItems());
|
|
openmct.install(openmct.plugins.LocalTimeSystem());
|
|
openmct.install(openmct.plugins.UTCTimeSystem());
|
|
|
|
element = document.createElement('div');
|
|
child = document.createElement('div');
|
|
element.appendChild(child);
|
|
|
|
openmct.on('start', done);
|
|
openmct.start(appHolder);
|
|
|
|
document.body.append(appHolder);
|
|
});
|
|
|
|
afterAll(() => {
|
|
openmct.router.setHash(initialHash);
|
|
appHolder.remove();
|
|
|
|
return resetApplicationState(openmct);
|
|
});
|
|
|
|
it('has initial hash when loaded', (done) => {
|
|
let success;
|
|
resolveFunction = () => {
|
|
openmct.router.setLocationFromUrl();
|
|
success = window.location.hash !== null;
|
|
if (success) {
|
|
initialHash = window.location.hash;
|
|
expect(success).toBe(true);
|
|
|
|
openmct.router.removeListener('change:hash', resolveFunction);
|
|
done();
|
|
}
|
|
};
|
|
|
|
openmct.router.on('change:hash', resolveFunction);
|
|
});
|
|
|
|
it('The setSearchParam function sets an individual search parameter in the window location hash', (done) => {
|
|
let success;
|
|
openmct.router.setSearchParam('testParam', 'testValue');
|
|
resolveFunction = () => {
|
|
success = window.location.hash.includes('testParam=testValue');
|
|
if (success) {
|
|
expect(success).toBe(true);
|
|
|
|
openmct.router.removeListener('change:hash', resolveFunction);
|
|
done();
|
|
}
|
|
};
|
|
|
|
openmct.router.on('change:hash', resolveFunction);
|
|
});
|
|
|
|
it('The getSearchParam function returns the value of an individual search paramater in the window location hash', () => {
|
|
expect(openmct.router.getSearchParam('testParam')).toBe('testValue');
|
|
});
|
|
|
|
it('The deleteSearchParam function deletes an individual search paramater in the window location hash', (done) => {
|
|
let success;
|
|
openmct.router.deleteSearchParam('testParam');
|
|
resolveFunction = () => {
|
|
success = window.location.hash.includes('testParam=testValue') === false;
|
|
if (success) {
|
|
expect(success).toBe(true);
|
|
|
|
openmct.router.removeListener('change:hash', resolveFunction);
|
|
done();
|
|
}
|
|
};
|
|
|
|
openmct.router.on('change:hash', resolveFunction);
|
|
});
|
|
|
|
it('The setSearchParam function sets an individual search parameters in the window location hash', (done) => {
|
|
let success;
|
|
openmct.router.setSearchParam('testParam1', 'testValue1');
|
|
openmct.router.setSearchParam('testParam2', 'testValue2');
|
|
|
|
resolveFunction = () => {
|
|
const hasTestParam1 = window.location.hash.includes('testParam1=testValue1');
|
|
const hasTestParam2 = window.location.hash.includes('testParam2=testValue2');
|
|
success = hasTestParam1 && hasTestParam2;
|
|
if (success) {
|
|
expect(success).toBe(true);
|
|
|
|
openmct.router.removeListener('change:hash', resolveFunction);
|
|
done();
|
|
}
|
|
};
|
|
|
|
openmct.router.on('change:hash', resolveFunction);
|
|
});
|
|
|
|
it('The setAllSearchParams function replaces all search paramaters in the window location hash', (done) => {
|
|
let success;
|
|
|
|
openmct.router.setSearchParam('testParam2', 'updatedtestValue2');
|
|
openmct.router.setSearchParam('newTestParam3', 'newTestValue3');
|
|
|
|
resolveFunction = () => {
|
|
const hasupdatedValueForTestParam2 = window.location.hash.includes('testParam2=updatedtestValue2');
|
|
const hasNewTestParam3 = window.location.hash.includes('newTestParam3=newTestValue3');
|
|
success = hasupdatedValueForTestParam2 && hasNewTestParam3;
|
|
if (success) {
|
|
expect(success).toBe(true);
|
|
|
|
openmct.router.removeListener('change:hash', resolveFunction);
|
|
done();
|
|
}
|
|
};
|
|
|
|
openmct.router.on('change:hash', resolveFunction);
|
|
});
|
|
|
|
it('The getAllSearchParams function returns the values of all search paramaters in the window location hash', () => {
|
|
let searchParams = openmct.router.getAllSearchParams();
|
|
expect(searchParams.get('testParam1')).toBe('testValue1');
|
|
expect(searchParams.get('testParam2')).toBe('updatedtestValue2');
|
|
expect(searchParams.get('newTestParam3')).toBe('newTestValue3');
|
|
});
|
|
});
|