Factories Depending On Database Records

Definition:

  • Adding a hard dependency on specific database records in factory definitions leads to build failures in CI environment.

Code Example:

factory :active_schedule do
  start_date Date.current - 1.month
  end_date 1.month.since(Date.current)
  processing_status "processed"
  schedule_duration ScheduleDuration.find_by_name("Custom")
end

References:

Quality attributes

  • - Code Example

  • - Cause and Effect

  • - Frequency

  • - Refactoring