mirror of
https://github.com/nasa/openmct.git
synced 2025-06-22 09:08:43 +00:00
Do not register time system listener until we have resolve remote clock object (#6063)
This commit is contained in:
@ -62,8 +62,8 @@ export default class RemoteClock extends DefaultClock {
|
|||||||
}
|
}
|
||||||
|
|
||||||
start() {
|
start() {
|
||||||
this.openmct.time.on('timeSystem', this._timeSystemChange);
|
|
||||||
this.openmct.objects.get(this.identifier).then((domainObject) => {
|
this.openmct.objects.get(this.identifier).then((domainObject) => {
|
||||||
|
this.openmct.time.on('timeSystem', this._timeSystemChange);
|
||||||
this.timeTelemetryObject = domainObject;
|
this.timeTelemetryObject = domainObject;
|
||||||
this.metadata = this.openmct.telemetry.getMetadata(domainObject);
|
this.metadata = this.openmct.telemetry.getMetadata(domainObject);
|
||||||
this._timeSystemChange();
|
this._timeSystemChange();
|
||||||
|
@ -71,7 +71,10 @@ describe("the RemoteClock plugin", () => {
|
|||||||
parse: (datum) => datum.key
|
parse: (datum) => datum.key
|
||||||
};
|
};
|
||||||
|
|
||||||
beforeEach(async () => {
|
let objectPromise;
|
||||||
|
let requestPromise;
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
openmct.install(openmct.plugins.RemoteClock(TIME_TELEMETRY_ID));
|
openmct.install(openmct.plugins.RemoteClock(TIME_TELEMETRY_ID));
|
||||||
|
|
||||||
let clocks = openmct.time.getAllClocks();
|
let clocks = openmct.time.getAllClocks();
|
||||||
@ -89,7 +92,9 @@ describe("the RemoteClock plugin", () => {
|
|||||||
spyOn(metadata, 'value').and.callThrough();
|
spyOn(metadata, 'value').and.callThrough();
|
||||||
|
|
||||||
let requestPromiseResolve;
|
let requestPromiseResolve;
|
||||||
let requestPromise = new Promise((resolve) => {
|
let objectPromiseResolve;
|
||||||
|
|
||||||
|
requestPromise = new Promise((resolve) => {
|
||||||
requestPromiseResolve = resolve;
|
requestPromiseResolve = resolve;
|
||||||
});
|
});
|
||||||
spyOn(openmct.telemetry, 'request').and.callFake(() => {
|
spyOn(openmct.telemetry, 'request').and.callFake(() => {
|
||||||
@ -98,8 +103,7 @@ describe("the RemoteClock plugin", () => {
|
|||||||
return requestPromise;
|
return requestPromise;
|
||||||
});
|
});
|
||||||
|
|
||||||
let objectPromiseResolve;
|
objectPromise = new Promise((resolve) => {
|
||||||
let objectPromise = new Promise((resolve) => {
|
|
||||||
objectPromiseResolve = resolve;
|
objectPromiseResolve = resolve;
|
||||||
});
|
});
|
||||||
spyOn(openmct.objects, 'get').and.callFake(() => {
|
spyOn(openmct.objects, 'get').and.callFake(() => {
|
||||||
@ -112,8 +116,15 @@ describe("the RemoteClock plugin", () => {
|
|||||||
start: OFFSET_START,
|
start: OFFSET_START,
|
||||||
end: OFFSET_END
|
end: OFFSET_END
|
||||||
});
|
});
|
||||||
|
});
|
||||||
|
|
||||||
await Promise.all([objectPromiseResolve, requestPromise]);
|
it("Does not throw error if time system is changed before remote clock initialized", () => {
|
||||||
|
expect(() => openmct.time.timeSystem('utc')).not.toThrow();
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('once resolved', () => {
|
||||||
|
beforeEach(async () => {
|
||||||
|
await Promise.all([objectPromise, requestPromise]);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('is available and sets up initial values and listeners', () => {
|
it('is available and sets up initial values and listeners', () => {
|
||||||
@ -148,3 +159,5 @@ describe("the RemoteClock plugin", () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
Reference in New Issue
Block a user