Change project integration factories to traits
What does this MR do and why?
Describe in detail what your merge request does and why.
In the project factory, we have several different factory definitions for projects with
certain integrations. I find these definitions confusing because when observing their usage
(e.g. create(:redmine_project)
), it's unclear that these are projects and not a different
model. I see no reason why these cannot be a trait instead, so I've refactored them to be traits,
resulting in the usage being create(:project, :redmine_integration)
, which I think is much clearer.
-
:youtrack_project
and:ewm_project
had no usage, so they have been removed. -
:project_with_design
is used in a helper which dynamically infers a factory from a class name, so I've left that one alone. -
:project_empty_repo
,:forked_project_with_submodules
, and:project_broken_repo
are thematically similar, and the first two have a lot of usages so I have left those three alone.
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.
Edited by Brian Williams