summaryrefslogtreecommitdiff
path: root/spec/factories/design_management/design_at_version.rb
blob: 6c0848ed11f51be5481cf0ac27cd2d8ea12feb69 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# frozen_string_literal: true

FactoryBot.define do
  factory :design_at_version, class: 'DesignManagement::DesignAtVersion' do
    skip_create # This is not an Active::Record model.

    design { nil }

    version { nil }

    transient do
      issue { design&.issue || version&.issue || association(:issue) }
    end

    initialize_with do
      attrs = attributes.dup
      attrs[:design] ||= association(:design, issue: issue)
      attrs[:version] ||= association(:design_version, issue: issue)

      new(**attrs)
    end
  end
end