Identify and close feature test gaps for work item list
### Work items list This epics targets to cover sanity checks related related to work item list. ### Feature flags to consider 1. Enable the work items experience for the issues on a project - `work_item_view_for_issues` 2. Enable the new consolidated `Work Items` menu instead of issues - `work_item_planning_view` 3. Enable the drawer on projects - `issues_list_drawer` 4. Enable the drawer on groups - `epics_list_drawer` ### Work items list actions <table> <tr> <th>User action</th> <th>Work items Feature spec</th> <th>Legacy feature specs</th> </tr> <tr> <td>Renders the listing page</td> <td> * `spec/features/work_items/user_views_work_items_list_spec.rb` * `ee/spec/features/work_items/user_views_work_items_list_spec.rb` </td> <td> * `spec/features/issues/list/user_views_issues_spec.rb` * `ee/spec/features/issues/list/user_views_issues_spec.rb` * `ee/spec/features/work_items/epics/epics_list_spec.rb` </td> </tr> <tr> <td>Sorting the list</td> <td> * `spec/features/work_items/user_sorts_work_items_spec.rb` </td> <td> * `spec/features/issues/user_sorts_issues_spec.rb` </td> </tr> <tr> <td>Searching in the list</td> <td> * `spec/features/work_items/work_items_list_filters_spec.rb` </td> <td> * `spec/features/issues/filtered_search/filter_issues_spec.rb` * `ee/spec/features/issues/filtered_search/filter_issues_epic_spec.rb` </td> </tr> <tr> <td>Filtering the list</td> <td> * `spec/features/work_items/work_items_list_filters_spec.rb` </td> <td> * `spec/features/issues/filtered_search/` * `ee/spec/features/issues/filtered_search/` </td> </tr> <tr> <td>Going to the next page and back</td> <td> * `spec/features/work_items/user_views_work_items_list_spec.rb` </td> <td> * `spec/features/issues/list/user_views_issues_spec.rb` * `ee/spec/features/issues/list/user_views_issues_spec.rb` * `ee/spec/features/work_items/epics/epics_list_spec.rb` </td> </tr> <tr> <td>Feature tests for drawer on the work item list page</td> <td> * `ee/spec/features/work_items/list/user_interacts_with_drawer_spec.rb` * `spec/features/work_items/list/user_interacts_with_drawer_spec.rb` </td> <td>N.A.</td> </tr> <tr> <td>Able to edit labels in bulk</td> <td> * `ee/spec/features/work_items/user_bulk_edits_work_items_spec.rb` </td> <td> * `spec/features/issues/list/user_bulk_edits_issues_spec.rb` * `ee/spec/features/issues/list/user_bulk_edits_issues_spec.rb` </td> </tr> </table> ### Feature spec guideline for work items * Search for existing spec files by name like `user_<action>_work_items.rb` and reuse if available. * If no existing file, create one under `ee/spec/features/work_items/` for EE or `spec/features/work_items/` for FOSS/shared. * Do not create separate spec files based on work item types like task or objective. If absolutely required, create under a type-specific folder (e.g., `epics/`) and add a note that it is temporary. * If the feature is behind a feature flag, test both enabled and disabled states. * Use simple test data, especially when dealing with dates or time-sensitive fields. * Avoid combining multiple attribute states or scenarios in a single test case for less flaky test. Instead add deterministic setups. * If complex setup is unavoidable, add query limits using `allow(Gitlab::QueryLimiting::Transaction).to receive(:threshold).and_return(175)` if needed. * Follow GitLab testing guidelines to keep feature specs lightweight and focused. ### Resources and guides 1. [Get started with feature tests](https://docs.gitlab.com/development/testing_guide/frontend_testing/#get-started-with-feature-tests) 2. [Gitlab Best practices for feature specs](https://docs.gitlab.com/development/testing_guide/best_practices/#system--feature-tests) 3. [Unhealthy tests](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/development/testing_guide/unhealthy_tests.md) 4. [Accessibility testing](https://docs.gitlab.com/development/fe_guide/accessibility/automated_testing/) 5. [test-prof](https://test-prof.evilmartians.io/)
epic