Skip to content

Change project integration factories to traits

Brian Williams requested to merge bwill/clean-up-project-factories into master

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.

Edited by Brian Williams

Merge request reports