summaryrefslogtreecommitdiff
path: root/spec/models/ml/candidate_spec.rb
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2022-12-20 14:22:11 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2022-12-20 14:22:11 +0000
commit0c872e02b2c822e3397515ec324051ff540f0cd5 (patch)
treece2fb6ce7030e4dad0f4118d21ab6453e5938cdd /spec/models/ml/candidate_spec.rb
parentf7e05a6853b12f02911494c4b3fe53d9540d74fc (diff)
downloadgitlab-ce-0c872e02b2c822e3397515ec324051ff540f0cd5.tar.gz
Add latest changes from gitlab-org/gitlab@15-7-stable-eev15.7.0-rc42
Diffstat (limited to 'spec/models/ml/candidate_spec.rb')
-rw-r--r--spec/models/ml/candidate_spec.rb41
1 files changed, 39 insertions, 2 deletions
diff --git a/spec/models/ml/candidate_spec.rb b/spec/models/ml/candidate_spec.rb
index b35496363fe..9ce411191f0 100644
--- a/spec/models/ml/candidate_spec.rb
+++ b/spec/models/ml/candidate_spec.rb
@@ -5,11 +5,18 @@ require 'spec_helper'
RSpec.describe Ml::Candidate, factory_default: :keep do
let_it_be(:candidate) { create(:ml_candidates, :with_metrics_and_params) }
+ let(:project) { candidate.experiment.project }
+
describe 'associations' do
it { is_expected.to belong_to(:experiment) }
it { is_expected.to belong_to(:user) }
it { is_expected.to have_many(:params) }
it { is_expected.to have_many(:metrics) }
+ it { is_expected.to have_many(:metadata) }
+ end
+
+ describe 'default values' do
+ it { expect(described_class.new.iid).to be_present }
end
describe '.artifact_root' do
@@ -18,8 +25,38 @@ RSpec.describe Ml::Candidate, factory_default: :keep do
it { is_expected.to eq("/ml_candidate_#{candidate.iid}/-/") }
end
- describe 'default values' do
- it { expect(described_class.new.iid).to be_present }
+ describe '.package_name' do
+ subject { candidate.package_name }
+
+ it { is_expected.to eq("ml_candidate_#{candidate.iid}") }
+ end
+
+ describe '.package_version' do
+ subject { candidate.package_version }
+
+ it { is_expected.to eq('-') }
+ end
+
+ describe '.artifact' do
+ subject { candidate.artifact }
+
+ context 'when has logged artifacts' do
+ let(:package) do
+ create(:generic_package, name: candidate.package_name, version: candidate.package_version, project: project)
+ end
+
+ it 'returns the package' do
+ package
+
+ is_expected.to eq(package)
+ end
+ end
+
+ context 'when does not have logged artifacts' do
+ let(:tested_candidate) { create(:ml_candidates, :with_metrics_and_params) }
+
+ it { is_expected.to be_nil }
+ end
end
describe '#by_project_id_and_iid' do