mirror of
https://github.com/nasa/openmct.git
synced 2025-06-16 22:28:13 +00:00
Merge release/2.1.2
into master
(#5946)
* Bump version to `2.1.2` * Ensure properties stay in sync and are committed only once (#5717) * Ensure form properties stay in sync * Separate out overlay based forms and custom forms * Use a transaction to save properties * Fix GaugeController to not depend on event emitted from FormsAPI * refactor showForms to call showCustomForm Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Andrew Henry <akhenry@gmail.com> * Fix persistence timestamp (#5916) * Calculate persisted timestamp last * Added regression tests * Correct transaction handling code * Code cleanup * Fix typo for publish (#5936) * Add e2e tests to npm package (#5930) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Shefali Joshi <simplyrender@gmail.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Andrew Henry <akhenry@gmail.com> Co-authored-by: John Hill <john.c.hill@nasa.gov>
This commit is contained in:
@ -24,6 +24,7 @@ import {
|
||||
createOpenMct,
|
||||
resetApplicationState
|
||||
} from 'utils/testing';
|
||||
import Vue from 'vue';
|
||||
|
||||
import { debounce } from 'lodash';
|
||||
|
||||
@ -101,10 +102,15 @@ describe('EditPropertiesAction plugin', () => {
|
||||
composition: []
|
||||
};
|
||||
|
||||
const deBouncedFormChange = debounce(handleFormPropertyChange, 500);
|
||||
openmct.forms.on('onFormPropertyChange', deBouncedFormChange);
|
||||
editPropertiesAction.invoke([domainObject])
|
||||
.then(() => {
|
||||
done();
|
||||
})
|
||||
.catch(() => {
|
||||
done();
|
||||
});
|
||||
|
||||
function handleFormPropertyChange(data) {
|
||||
Vue.nextTick(() => {
|
||||
const form = document.querySelector('.js-form');
|
||||
const title = form.querySelector('input');
|
||||
expect(title.value).toEqual(domainObject.name);
|
||||
@ -118,17 +124,7 @@ describe('EditPropertiesAction plugin', () => {
|
||||
|
||||
const clickEvent = createMouseEvent('click');
|
||||
buttons[1].dispatchEvent(clickEvent);
|
||||
|
||||
openmct.forms.off('onFormPropertyChange', deBouncedFormChange);
|
||||
}
|
||||
|
||||
editPropertiesAction.invoke([domainObject])
|
||||
.then(() => {
|
||||
done();
|
||||
})
|
||||
.catch(() => {
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
it('edit properties action saves changes', (done) => {
|
||||
@ -159,11 +155,9 @@ describe('EditPropertiesAction plugin', () => {
|
||||
const deBouncedCallback = debounce(callback, 300);
|
||||
unObserve = openmct.objects.observe(domainObject, '*', deBouncedCallback);
|
||||
|
||||
let changed = false;
|
||||
const deBouncedFormChange = debounce(handleFormPropertyChange, 500);
|
||||
openmct.forms.on('onFormPropertyChange', deBouncedFormChange);
|
||||
editPropertiesAction.invoke([domainObject]);
|
||||
|
||||
function handleFormPropertyChange(data) {
|
||||
Vue.nextTick(() => {
|
||||
const form = document.querySelector('.js-form');
|
||||
const title = form.querySelector('input');
|
||||
const notes = form.querySelector('textArea');
|
||||
@ -172,27 +166,18 @@ describe('EditPropertiesAction plugin', () => {
|
||||
expect(buttons[0].textContent.trim()).toEqual('OK');
|
||||
expect(buttons[1].textContent.trim()).toEqual('Cancel');
|
||||
|
||||
if (!changed) {
|
||||
expect(title.value).toEqual(domainObject.name);
|
||||
expect(notes.value).toEqual(domainObject.notes);
|
||||
expect(title.value).toEqual(domainObject.name);
|
||||
expect(notes.value).toEqual(domainObject.notes);
|
||||
|
||||
// change input field value and dispatch event for it
|
||||
title.focus();
|
||||
title.value = newName;
|
||||
title.dispatchEvent(new Event('input'));
|
||||
title.blur();
|
||||
// change input field value and dispatch event for it
|
||||
title.focus();
|
||||
title.value = newName;
|
||||
title.dispatchEvent(new Event('input'));
|
||||
title.blur();
|
||||
|
||||
changed = true;
|
||||
} else {
|
||||
// click ok to save form changes
|
||||
const clickEvent = createMouseEvent('click');
|
||||
buttons[0].dispatchEvent(clickEvent);
|
||||
|
||||
openmct.forms.off('onFormPropertyChange', deBouncedFormChange);
|
||||
}
|
||||
}
|
||||
|
||||
editPropertiesAction.invoke([domainObject]);
|
||||
const clickEvent = createMouseEvent('click');
|
||||
buttons[0].dispatchEvent(clickEvent);
|
||||
});
|
||||
});
|
||||
|
||||
it('edit properties action discards changes', (done) => {
|
||||
@ -217,7 +202,6 @@ describe('EditPropertiesAction plugin', () => {
|
||||
})
|
||||
.catch(() => {
|
||||
expect(domainObject.name).toEqual(name);
|
||||
|
||||
done();
|
||||
});
|
||||
|
||||
|
Reference in New Issue
Block a user