Clone issue card on move when necessary [RUN AS-IF-FOSS]
What does this MR do?
Concerns graphql-based boards (group/project behind :graphql_board_lists
) and epic swimlanes. Reviewers may want to also turn on :board_new_list
because graphql-boards sometimes breaks creating a new board list using the legacy 'Add list' button.
-
resolves #325778 (closed).
To be exact, we want to achieve behavior parity with the classic boards. The best way to test this MR is to compare the behaviors of the graphql boards (running on your local machine) to the behaviors of the boards in production.
-
fixes a duplicate key error (an issue card is dropped into a list that already has the card)
-
refactors (restructures) how the boards vuex code handle issue card moves between lists
The goal of the refactor was to increase the reusability of the vuex actions to reduce the duplication of logic in EE.
Quick video illustration
- Ex 1. Moving a card from
Open
list to a label list doesn't clone the card. - Ex 2. Moving a card from one label list to another label list doesn't clone the card.
- Ex 3. Moving a card from a label list to a milestone list clones the card.
actions_spec.js#L675 has more comprehensive specifications.
Does this MR meet the acceptance criteria?
Conformity
-
📋 Does this MR need a changelog?-
I have included a changelog entry. -
I have not included a changelog entry because _____.
-
-
Documentation (if required) -
Code review guidelines -
Merge request performance guidelines -
Style guides -
Database guides -
Separation of EE specific content
Availability and Testing
-
Review and add/update tests for this feature/bug. Consider all test levels. See the Test Planning Process. -
Tested in all supported browsers -
Informed Infrastructure department of a default or new setting change, if applicable per definition of done
Security
If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:
-
Label as security and @ mention @gitlab-com/gl-security/appsec
-
The MR includes necessary changes to maintain consistency between UI, API, email, or other methods -
Security reports checked/validated by a reviewer from the AppSec team
Related to #325778 (closed)