diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-05-17 16:05:49 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-05-17 16:05:49 +0000 |
commit | 43a25d93ebdabea52f99b05e15b06250cd8f07d7 (patch) | |
tree | dceebdc68925362117480a5d672bcff122fb625b /spec/services/ml/experiment_tracking/candidate_repository_spec.rb | |
parent | 20c84b99005abd1c82101dfeff264ac50d2df211 (diff) | |
download | gitlab-ce-0f94cf6ca9d272d8e0fda4a7a597866cf3dc1fc0.tar.gz |
Add latest changes from gitlab-org/gitlab@16-0-stable-eev16.0.0-rc4216-0-stable
Diffstat (limited to 'spec/services/ml/experiment_tracking/candidate_repository_spec.rb')
-rw-r--r-- | spec/services/ml/experiment_tracking/candidate_repository_spec.rb | 32 |
1 files changed, 25 insertions, 7 deletions
diff --git a/spec/services/ml/experiment_tracking/candidate_repository_spec.rb b/spec/services/ml/experiment_tracking/candidate_repository_spec.rb index e3c05178025..079c36c9613 100644 --- a/spec/services/ml/experiment_tracking/candidate_repository_spec.rb +++ b/spec/services/ml/experiment_tracking/candidate_repository_spec.rb @@ -2,23 +2,23 @@ require 'spec_helper' -RSpec.describe ::Ml::ExperimentTracking::CandidateRepository do +RSpec.describe ::Ml::ExperimentTracking::CandidateRepository, feature_category: :experimentation_activation do let_it_be(:project) { create(:project) } let_it_be(:user) { create(:user) } let_it_be(:experiment) { create(:ml_experiments, user: user, project: project) } - let_it_be(:candidate) { create(:ml_candidates, user: user, experiment: experiment) } + let_it_be(:candidate) { create(:ml_candidates, user: user, experiment: experiment, project: project) } let(:repository) { described_class.new(project, user) } - describe '#by_iid' do - let(:iid) { candidate.iid } + describe '#by_eid' do + let(:eid) { candidate.eid } - subject { repository.by_iid(iid) } + subject { repository.by_eid(eid) } it { is_expected.to eq(candidate) } context 'when iid does not exist' do - let(:iid) { non_existing_record_iid.to_s } + let(:eid) { non_existing_record_iid.to_s } it { is_expected.to be_nil } end @@ -38,7 +38,7 @@ RSpec.describe ::Ml::ExperimentTracking::CandidateRepository do it 'creates the candidate' do expect(subject.start_time).to eq(1234) - expect(subject.iid).not_to be_nil + expect(subject.eid).not_to be_nil expect(subject.end_time).to be_nil expect(subject.name).to eq('some_candidate') end @@ -166,6 +166,14 @@ RSpec.describe ::Ml::ExperimentTracking::CandidateRepository do expect { repository.add_tag!(candidate, 'new', props[:value]) }.to raise_error(ActiveRecord::RecordInvalid) end end + + context 'when tag starts with gitlab.' do + it 'calls HandleCandidateGitlabMetadataService' do + expect(Ml::ExperimentTracking::HandleCandidateGitlabMetadataService).to receive(:new).and_call_original + + repository.add_tag!(candidate, 'gitlab.CI_USER_ID', user.id) + end + end end describe "#add_params" do @@ -291,5 +299,15 @@ RSpec.describe ::Ml::ExperimentTracking::CandidateRepository do expect { subject }.to change { candidate.reload.metadata.size }.by(1) end end + + context 'when tags is nil' do + let(:tags) { nil } + + it 'does not handle gitlab tags' do + expect(repository).not_to receive(:handle_gitlab_tags) + + subject + end + end end end |