NASA-AMMOS / aerie-ui

The client application for Aerie.
https://nasa-ammos.github.io/aerie-docs/
MIT License
29 stars 5 forks source link

Constraint status improvements and fixes #1107

Closed AaronPlave closed 7 months ago

AaronPlave commented 7 months ago

This PR introduces several improvements and fixes to how constraint status is tracked and presented. Closes #862.

image

Changes:

Testing: Scenario A:

  1. Make a plan with activities and valid constraints that have no violations
  2. Ensure that the constraints in the Constraints panel display a Unchecked icon that on hover shows an "Unchecked" tooltip
  3. Simulate
  4. Check constraints
  5. The constraint status in menu should indicate success
  6. Make a change to the plan
  7. Hover over constraint menu in the navbar, a message should be present warning the user that simulation is out of date and the check constraints button should be disabled. Note that in this PR we cannot tie constraint status to sim out of date status since we do not track constraint runs (future work).
  8. Simulate
  9. Hover over constraints menu in the navbar. The warning message should not longer appear and the check constraints button should be enabled.

Scenario B:

  1. Make a plan with activities and some constraints that are invalid (i.e. won't compile) and some constraints that will cause violations.
  2. Simulate
  3. Check constraints
  4. The overall constraint status should be "Failed" and hovering over the navbar constraint menu should indicate compilation errors and constraint violations.
  5. Ensure that the invalid constraints display an Error collapsible section in the Constraints panel.

Scenario C:

  1. Make a plan with activities and constraints
  2. Simulate
  3. Check constraints
  4. Add a new constraint
  5. Ensure that a message about an unchecked constraint appears in the navbar constraint hover menu and that the constraint in the Constraints panel displays n Unchecked status icon that on hover displays "Unchecked".