Skip to content

Cadences test cases before GA

  • [-] BE TODO: I wonder if we would be ok using IIDs for numbering the iterations within a cadence as I do not think we use it as an identifier, but if we do we would probably need another field to store the iteration number within a cadence. I know we use it in some graphql resolvers to search iterations by, but I do not think those return unique values across the group hierarchy anyway. #343621 (closed)

    • [-] because the traffic on creating iterations should not be too high, we can get away with just setting the number to (max(number) + 1) => we won't be numbering iterations.
  • BE TODO: Use the number as iteration title, i.e. no need for the title #343523 (closed) => we will deprecate title

  • BE TODO: Improve search capability #336611 (closed)

  • Legacy iteration feature support

    • Manual cadence
      • create new iteration
        • FE TODO: first iteration start date should be filled in
          • start date = cadence start date
          • due_date = empty, to be provided by user
        • FE TODO: all following iteration dates should be pre-filled in
          • start date = last iteration due_date + 1
          • due_date = start date + last iteration duration
            • FE/BE TO TEST: user should still be able to change both start and due dates
        • FE/BE TO TEST: create iteration with dates overlapping other iteration(s)
          • failure
        • FE/BE TO TEST: create iteration with start date not being last iteration due_date + 1 but not overlapping
          • success
        • FE/BE TO TEST: create non overlapping iteration before cadence start date
          • success
        • [-] FE TODO: have a "roll over open issues (count)" button on a closed iteration
          • V1: - a must have
            • Have the roll-over button enabled if there is an open iteration to which to roll-over issues
              • clicking the button should roll-over issues to that iteration and show a success/failure message
            • Have a disabled roll-over button if:
              • no open issues
                • show a hint why the button is disabled
              • no open iterations exist to which to roll-over
                • show an error message to instruct the user of next actions to fix the problem.
          • Next Version(s)
            • improve the UX
              • show count of issues to be rolled over
              • have an overlay to show the list of issues to be rolled-over
              • allow to pick to which iteration to roll-over
              • allow to create an iteration if there is no open iteration.
              • etc.
    • [-] Change cadence start date cadence start date irrelevant for manual cadence
      • if there are no iterations
        • FE TODO: first new iteration pre-populates start date with the cadence start date
      • if there are iterations
        • FE TO TEST: cadence start date has no influence
        • FE TODO: we should probably just disable it and not allow changing it to avoid confusion
        • FE TO TEST: opening new iteration form start date = last iteration due date + 1
    • [-] set roll-over issues not supported. Should be converted to automatic
      • BE TO TEST: test that issues are rolled-over automatically when iteration is closed if there is an existent open iteration
      • FE/BE TODO: in iterations/cadences list show a visual indicator if a closed iteration has open issues that need to be rolled-over.
    • change cadence to automatic
      • FE TODO: show success/failure message that cadence has been set to automatic
      • FE/BE TO TEST: nothing changes immediately, -->see automated cadences test scenarios
    • delete a manual cadence
      • FE TODO: WARNING: deletes all iterations and unassigns issues from any of the cadences iterations
        • would be nice to get a count on all iterations being deleted and all issues being unassigned from those iterations
      • **FE/BE TO TEST: all iterations are removed, issues linked to respective iterations are unlinked
  • AUTOMATED CADENCES

    • create cadence
      • FE/BE TO TEST: should create selected number of future iterations, right away
      • FE/BE TO TEST: should have first iteration start date = cadence start date
      • FE/BE TO TEST: should have first iteration due_date = start date + cadence duration - 1(this is because we consider iteration start date as starting at 00:00:00 and ending at 23:59:59)
      • FE/BE TO TEST: should have all iterations duration = cadence duration
      • FE/BE TO TEST: should have every next iteration start date = prev iteration due_date + 1 and due dates = start date + cadence duration - 1
      • FE/BE TO TEST: new iteration should be created at the end of current iteration.
    • change cadence duration
      • FE/BE TO TEST: expect all but current iteration dates and durations to change
      • FE/BE TO TEST: next iteration after current one start date should not change, because current iteration does not change at all, but its due date should change to start date + new cadence duration
    • change iterations in future
      • to a smaller number
        • FE/BE TO TEST: expect nothing to change immediately
        • FE/BE TO TEST: depending by how many iteration it was changed, check that no new iterations are created unless the number is met
      • to a bigger number
        • FE/BE TO TEST: check that extra iterations are added soon after cadence is saved
    • [-] set roll-over issues
      • BE TO TEST: test that issues are rolled-over automatically when iteration is closed if there is an existent open iteration
      • FE/BE TODO: in iterations/cadences list show a visual indicator if a closed iteration has open issues that need to be rolled-over.




  • FOR ANY CADENCE
    • List Iteration cadences page
      • FE TO TEST: show iteration cadences with iterations from all ancestors
      • FE TODO: show which cadence from which ancestor is being inherited
    • iterations in sidebar
      • FE/BE TODO: display as #N (yyyy-mm-dd - yyyy-mm-dd) (@euko: !78361 (merged); we won't support numbering iterations)
      • dropdown picker
        • [-] FE/BE TODO: preload last closed + current + X future iterations (@euko: only current & future iterations are useful for planning purpose - no need to preload closed iteration)
        • FE/BE TODO: display as #N (yyyy-mm-dd - yyyy-mm-dd) (@euko: !78361 (merged))
        • BE TODO: searchable by: cadence name, number, date as "2021-01-31" and "2021, January, 31" (@euko: searchable by cadence name only. !76231 (merged))
        • FE TODO: searchable by: cadence name, number, date as "2021-01-31" and "2021, January, 31"
        • [-] FE/BE TODO: allow searching closed iterations as well (@euko: closed iteration is irrelevant for planning. Issues should be rarely assigned to iterations retroactively)
    • iterations in filter bar
      • same as for sidebar
    • scope a board to iteration in a cadence

TODO - needs to be implemented TO TEST - is implemented, needs to be tested that works as expected.

Edited by euko