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

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/models/ml/model_spec.rb')
-rw-r--r--spec/models/ml/model_spec.rb36
1 files changed, 36 insertions, 0 deletions
diff --git a/spec/models/ml/model_spec.rb b/spec/models/ml/model_spec.rb
index ae7c3f163f3..e1de44b0030 100644
--- a/spec/models/ml/model_spec.rb
+++ b/spec/models/ml/model_spec.rb
@@ -63,6 +63,19 @@ RSpec.describe Ml::Model, feature_category: :mlops do
end
end
+ describe 'candidates' do
+ let_it_be(:candidate1) { create(:ml_model_versions, model: existing_model).candidate }
+ let_it_be(:candidate2) do
+ create(:ml_candidates, experiment: existing_model.default_experiment, project: project1)
+ end
+
+ let_it_be(:candidate3) { create(:ml_candidates, project: project1) }
+
+ it 'returns only the candidates for default experiment that do not belong to a model version' do
+ expect(existing_model.candidates).to match_array([candidate2])
+ end
+ end
+
describe '.by_project' do
subject { described_class.by_project(project1) }
@@ -128,4 +141,27 @@ RSpec.describe Ml::Model, feature_category: :mlops do
it { is_expected.to be(nil) }
end
end
+
+ describe '#all_packages' do
+ it 'returns an empty array when no model versions exist' do
+ expect(existing_model.all_packages).to eq([])
+ end
+
+ it 'returns one package when a single model version exists' do
+ version = create(:ml_model_versions, :with_package, model: existing_model)
+
+ all_packages = existing_model.all_packages
+ expect(all_packages.length).to be(1)
+ expect(all_packages.first).to eq(version.package)
+ end
+
+ it 'returns multiple packages when multiple model versions exist' do
+ version1 = create(:ml_model_versions, :with_package, model: existing_model)
+ version2 = create(:ml_model_versions, :with_package, model: existing_model)
+
+ all_packages = existing_model.all_packages
+ expect(all_packages.length).to be(2)
+ expect(all_packages).to match_array([version1.package, version2.package])
+ end
+ end
end