Fix and unpend all specs which are currently failing with :combined_menu flag on
NOTE: This MR is currently rebased against the upstream Full Context Spike MR, to ensure the feature specs are running against all the latest functionality (which may be on other unmerged MRs) for the Feature Requirements
- Requirements (issue)
- Tasks (epic)
- Full Context Spike MR (permanent draft)
- All MR parts ...
What does this MR do?
Ensures all feature spec coverage passes with feature flag combined_menu
turned ON, for features to be added/modified as part of Combine Projects, Groups, and More into one menu (issue).
This is a follow-on to !60335 (merged), which added coverage with the flag ON, but pending all tests.
Workflow for how we are using pending examples
- All existing specs which fail with the flag on are wrapped in a "shared" context, and executed from two new contexts, "on" and "off", with the flag on and off, respectively.
- All failing examples in these specs are marked as pending from the "on" context. Examples which are not failing are not marked pending, but are still included in the "on" context to provide full coverage of both flag states.
- As the features are implemented and the specs begin passing, there are two options:
- If the example passes unmodified with the flag on, then ensure it is unpended in the "shared" context.
- If the example needs modifications to pass, then duplicate it in the "on" and "off" context, and make the necessary changes in the "on" context to make it pass with the new implementation.
- Once the feature is fully implemented, no pending examples should remain.
- When the feature flag is removed:
- The "off" context can be deleted,
- The "on" context can be combined with the "shared" context at the top level, and the flag nesting context removed.
Performance note
Please note that this results in temporarily duplicating our test execution which will add some test time. We are willing to accept this because:
- It provides full coverage of the on/off cases.
- It is temporary and easy to undo when we remove the feature flag.
Does this MR meet the acceptance criteria?
Conformity
-
📋 Does this MR need a changelog?-
I have not included a changelog entry because Does not have user facing changes
.
-
-
Documentation (if required) -
Code review guidelines -
Merge request performance guidelines -
Style guides -
Database guides -
Separation of EE specific content
Edited by Chad Woolley