Fix Environment terminal specs for EE
What does this MR do?
In EE we redefine Environment#terminals, which makes it impossible to
use allow_any_instance_of(Environment)
or
expect_any_instance_of(Environment)
. Other approaches of stubbing
this class, such as by stubbing new
, only result in spec failures.
To solve this issue, we add a simple defined?(EE)
check in the tests
to change the thing that we are testing. This is rather obnoxious,
because it requires EE knowledge in CE, and can break if
EE::Environment
is removed without updating CE. Unfortunately, it
appears to be the only solution we have apart from modifying these tests
in EE (which would cause merge conflicts).
What are the relevant issue numbers?
This is necessary to get the builds in https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/8424 to pass.
Does this MR meet the acceptance criteria?
-
Tests added for this feature/bug -
Conforms to the code review guidelines -
Conforms to the merge request performance guidelines -
Conforms to the style guides