mirror of
https://github.com/nasa/openmct.git
synced 2025-06-14 05:08:15 +00:00
test(e2e): add e2e and visual tests for Mission Status (plus a11y) (#7462)
* feat: enable mission status in example user * test: add initial missionStatus suite * test(WIP): mission status e2e suite * test(e2e): add e2e and visual tests for mission status + a11y * test(a11y): scan for a11y violations * a11y: remove labels for non-interactive elements
This commit is contained in:
@ -60,10 +60,22 @@ const STATUSES = [
|
||||
statusFgColor: '#fff'
|
||||
}
|
||||
];
|
||||
|
||||
const MISSION_STATUSES = [
|
||||
{
|
||||
key: 0,
|
||||
label: 'NO GO'
|
||||
},
|
||||
{
|
||||
key: 1,
|
||||
label: 'GO'
|
||||
}
|
||||
];
|
||||
/**
|
||||
* @implements {StatusUserProvider}
|
||||
*/
|
||||
export default class ExampleUserProvider extends EventEmitter {
|
||||
#actionToStatusMap;
|
||||
constructor(
|
||||
openmct,
|
||||
{ statusRoles } = {
|
||||
@ -73,6 +85,11 @@ export default class ExampleUserProvider extends EventEmitter {
|
||||
super();
|
||||
|
||||
this.openmct = openmct;
|
||||
this.#actionToStatusMap = {
|
||||
Imagery: MISSION_STATUSES[0],
|
||||
Commanding: MISSION_STATUSES[0],
|
||||
Driving: MISSION_STATUSES[0]
|
||||
};
|
||||
this.user = undefined;
|
||||
this.loggedIn = false;
|
||||
this.autoLoginUser = undefined;
|
||||
@ -112,7 +129,7 @@ export default class ExampleUserProvider extends EventEmitter {
|
||||
}
|
||||
|
||||
canSetMissionStatus() {
|
||||
return Promise.resolve(false);
|
||||
return Promise.resolve(true);
|
||||
}
|
||||
|
||||
hasRole(roleId) {
|
||||
@ -127,6 +144,28 @@ export default class ExampleUserProvider extends EventEmitter {
|
||||
return this.user.getRoles();
|
||||
}
|
||||
|
||||
getPossibleMissionActions() {
|
||||
return Promise.resolve(Object.keys(this.#actionToStatusMap));
|
||||
}
|
||||
|
||||
getPossibleMissionActionStatuses() {
|
||||
return Promise.resolve(MISSION_STATUSES);
|
||||
}
|
||||
|
||||
getStatusForMissionAction(action) {
|
||||
return Promise.resolve(this.#actionToStatusMap[action]);
|
||||
}
|
||||
|
||||
setStatusForMissionAction(action, status) {
|
||||
this.#actionToStatusMap[action] = status;
|
||||
this.emit('missionStatusChange', {
|
||||
action,
|
||||
status
|
||||
});
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
getAllStatusRoles() {
|
||||
return Promise.resolve(this.statusRoles);
|
||||
}
|
||||
|
Reference in New Issue
Block a user