Welcome to mirror list, hosted at ThFree Co, Russian Federation.

models.rb « ml « factories « spec - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 3377a54f2654597d39ca07be9ba4cea15686c599 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# frozen_string_literal: true

FactoryBot.define do
  factory :ml_models, class: '::Ml::Model' do
    sequence(:name) { |n| "model#{n}" }

    project
    default_experiment { association :ml_experiments, project_id: project.id, name: name }

    trait :with_versions do
      versions { Array.new(2) { association(:ml_model_versions, model: instance) } }
    end

    trait :with_latest_version_and_package do
      transient do
        version { association(:ml_model_versions, :with_package, model: instance) }
      end
      versions { [version] }
      latest_version { version }
    end

    trait :with_metadata do
      after(:create) do |model|
        model.metadata = FactoryBot.create_list(:ml_model_metadata, 2, model: model) # rubocop:disable StrategyInCallback
      end
    end
  end
end