Skip to content

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
  • sync needs to be set to false
  • attachToDocument must be true

This MR focuses on upgrading the tests located in ee/spec/frontend/approvals/:

Why are these changes necessary?

  • The reason to set attachDocument to true is that the BTooltip and BPopover directives expect to be attached to a document object.
  • The reason to set sync to false is that otherwise, specs for components that use BTooltip or BPopover will 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

Availability and Testing

Edited by Paul Gascou-Vaillancourt

Merge request reports