mirror of
https://github.com/nasa/openmct.git
synced 2025-01-18 02:39:56 +00:00
[Status] Revise API
Change method names, add a getter to status capability; per code review feedback, nasa/openmctweb#319.
This commit is contained in:
parent
b5d1118a3f
commit
400b992ec3
@ -49,11 +49,20 @@ define(
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get all status flags currently set for this domain object.
|
* List all status flags currently set for this domain object.
|
||||||
* @returns {string[]} all current status flags.
|
* @returns {string[]} all current status flags.
|
||||||
*/
|
*/
|
||||||
StatusCapability.prototype.get = function () {
|
StatusCapability.prototype.list = function () {
|
||||||
return this.statusService.getStatus(this.domainObject.getId());
|
return this.statusService.listStatuses(this.domainObject.getId());
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if a status flag is currently set for this domain object.
|
||||||
|
* @param {string} status the status to get
|
||||||
|
* @returns {boolean} true if the flag is present, otherwise false
|
||||||
|
*/
|
||||||
|
StatusCapability.prototype.get = function (status) {
|
||||||
|
return this.list().indexOf(status) !== -1;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -77,7 +77,7 @@ define(
|
|||||||
self.lastClasses = newClasses;
|
self.lastClasses = newClasses;
|
||||||
}
|
}
|
||||||
|
|
||||||
updateStatus(statusCapability.get());
|
updateStatus(statusCapability.list());
|
||||||
this.unlisten = statusCapability.listen(updateStatus);
|
this.unlisten = statusCapability.listen(updateStatus);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -51,7 +51,7 @@ define(
|
|||||||
* @returns {string[]} an array containing all status flags currently
|
* @returns {string[]} an array containing all status flags currently
|
||||||
* applicable to the object with this identifier
|
* applicable to the object with this identifier
|
||||||
*/
|
*/
|
||||||
StatusService.prototype.getStatus = function (id) {
|
StatusService.prototype.listStatuses = function (id) {
|
||||||
return this.statusTable[id] || [];
|
return this.statusTable[id] || [];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -40,7 +40,7 @@ define(
|
|||||||
|
|
||||||
mockStatusService = jasmine.createSpyObj(
|
mockStatusService = jasmine.createSpyObj(
|
||||||
'statusService',
|
'statusService',
|
||||||
[ 'listen', 'setStatus', 'getStatus' ]
|
[ 'listen', 'setStatus', 'listStatuses' ]
|
||||||
);
|
);
|
||||||
mockDomainObject = jasmine.createSpyObj(
|
mockDomainObject = jasmine.createSpyObj(
|
||||||
'domainObject',
|
'domainObject',
|
||||||
@ -49,7 +49,7 @@ define(
|
|||||||
mockUnlisten = jasmine.createSpy('unlisten');
|
mockUnlisten = jasmine.createSpy('unlisten');
|
||||||
|
|
||||||
mockStatusService.listen.andReturn(mockUnlisten);
|
mockStatusService.listen.andReturn(mockUnlisten);
|
||||||
mockStatusService.getStatus.andReturn(testStatusFlags);
|
mockStatusService.listStatuses.andReturn(testStatusFlags);
|
||||||
mockDomainObject.getId.andReturn(testId);
|
mockDomainObject.getId.andReturn(testId);
|
||||||
|
|
||||||
capability = new StatusCapability(
|
capability = new StatusCapability(
|
||||||
@ -69,7 +69,7 @@ define(
|
|||||||
});
|
});
|
||||||
|
|
||||||
it("gets status from the statusService", function () {
|
it("gets status from the statusService", function () {
|
||||||
expect(capability.get()).toBe(testStatusFlags);
|
expect(capability.list()).toBe(testStatusFlags);
|
||||||
});
|
});
|
||||||
|
|
||||||
it("listens to changes from the statusService", function () {
|
it("listens to changes from the statusService", function () {
|
||||||
@ -79,6 +79,11 @@ define(
|
|||||||
expect(mockStatusService.listen)
|
expect(mockStatusService.listen)
|
||||||
.toHaveBeenCalledWith(testId, mockCallback);
|
.toHaveBeenCalledWith(testId, mockCallback);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("allows statuses to be checked individually", function () {
|
||||||
|
expect(capability.get('some-unset-status')).toBe(false);
|
||||||
|
expect(capability.get(testStatusFlags[0])).toBe(true);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
@ -66,7 +66,7 @@ define(
|
|||||||
);
|
);
|
||||||
mockStatusCapability = jasmine.createSpyObj(
|
mockStatusCapability = jasmine.createSpyObj(
|
||||||
'status',
|
'status',
|
||||||
[ 'get', 'set', 'listen' ]
|
[ 'list', 'get', 'set', 'listen' ]
|
||||||
);
|
);
|
||||||
mockUnlisten = jasmine.createSpy();
|
mockUnlisten = jasmine.createSpy();
|
||||||
|
|
||||||
@ -79,7 +79,7 @@ define(
|
|||||||
delete elementClasses[c];
|
delete elementClasses[c];
|
||||||
});
|
});
|
||||||
|
|
||||||
mockStatusCapability.get.andReturn(testStatusFlags);
|
mockStatusCapability.list.andReturn(testStatusFlags);
|
||||||
mockStatusCapability.listen.andReturn(mockUnlisten);
|
mockStatusCapability.listen.andReturn(mockUnlisten);
|
||||||
|
|
||||||
mockDomainObject.getCapability.andCallFake(function (c) {
|
mockDomainObject.getCapability.andCallFake(function (c) {
|
||||||
|
@ -54,14 +54,14 @@ define(
|
|||||||
});
|
});
|
||||||
|
|
||||||
it("initially contains no flags for an object", function () {
|
it("initially contains no flags for an object", function () {
|
||||||
expect(statusService.getStatus(testId)).toEqual([]);
|
expect(statusService.listStatuses(testId)).toEqual([]);
|
||||||
});
|
});
|
||||||
|
|
||||||
it("stores and clears status flags", function () {
|
it("stores and clears status flags", function () {
|
||||||
statusService.setStatus(testId, testStatus, true);
|
statusService.setStatus(testId, testStatus, true);
|
||||||
expect(statusService.getStatus(testId)).toEqual([testStatus]);
|
expect(statusService.listStatuses(testId)).toEqual([testStatus]);
|
||||||
statusService.setStatus(testId, testStatus, false);
|
statusService.setStatus(testId, testStatus, false);
|
||||||
expect(statusService.getStatus(testId)).toEqual([]);
|
expect(statusService.listStatuses(testId)).toEqual([]);
|
||||||
});
|
});
|
||||||
|
|
||||||
it("uses topic to listen for changes", function () {
|
it("uses topic to listen for changes", function () {
|
||||||
|
Loading…
Reference in New Issue
Block a user