Make approvals specs compatible w/ BootstrapVue 2
Prepare approvals specs for BootstrapVue upgrade
This MR lays the groundwork for the BootstrapVue upgrade that will be done in this MR: !18913 (merged). Due to some changes in the BTooltip and BPopover components, some related tests started failing after the upgrade. Those tests need to be updated accordingly:
- Migrate specs to use vue-test-utils
-
syncneeds to be set tofalse -
attachToDocumentmust betrue
This MR focuses on upgrading the tests located in ee/spec/frontend/approvals/:
Why are these changes necessary?
- The reason to set
attachDocumenttotrueis that theBTooltipandBPopoverdirectives expect to be attached to a document object. - The reason to set
synctofalseis that otherwise, specs for components that useBTooltiporBPopoverwill fail with the following error:
TypeError: Cannot read property 'sync' of null
Additional notes
In this specific spec, mount() has been dropped in favor of shallowMount(), which not only provides a better isolation, but also makes it possible to keep testing the popover contents easily, which would have been troublesome with the refactors in BootstrapVue, because the popover would have been mounted on the document rather than in the tested component itself.
Does this MR meet the acceptance criteria?
Conformity
- [-] Changelog entry
- [-] Documentation (if required)
-
Code review guidelines - [-] Merge request performance guidelines
-
Style guides - [-] Database guides
- [-] Separation of EE specific content