diff options
Diffstat (limited to 'spec/models/ml/experiment_spec.rb')
-rw-r--r-- | spec/models/ml/experiment_spec.rb | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/spec/models/ml/experiment_spec.rb b/spec/models/ml/experiment_spec.rb index dca5280a8fe..e300f82d290 100644 --- a/spec/models/ml/experiment_spec.rb +++ b/spec/models/ml/experiment_spec.rb @@ -8,4 +8,55 @@ RSpec.describe Ml::Experiment do it { is_expected.to belong_to(:user) } it { is_expected.to have_many(:candidates) } end + + describe '#by_project_id_and_iid?' do + let(:exp) { create(:ml_experiments) } + let(:iid) { exp.iid } + + subject { described_class.by_project_id_and_iid(exp.project_id, iid) } + + context 'if exists' do + it { is_expected.to eq(exp) } + end + + context 'if does not exist' do + let(:iid) { non_existing_record_id } + + it { is_expected.to be(nil) } + end + end + + describe '#by_project_id_and_name?' do + let(:exp) { create(:ml_experiments) } + let(:exp_name) { exp.name } + + subject { described_class.by_project_id_and_name(exp.project_id, exp_name) } + + context 'if exists' do + it { is_expected.to eq(exp) } + end + + context 'if does not exist' do + let(:exp_name) { 'hello' } + + it { is_expected.to be_nil } + end + end + + describe '#has_record?' do + let(:exp) { create(:ml_experiments) } + let(:exp_name) { exp.name } + + subject { described_class.has_record?(exp.project_id, exp_name) } + + context 'if exists' do + it { is_expected.to be_truthy } + end + + context 'if does not exist' do + let(:exp_name) { 'hello' } + + it { is_expected.to be_falsey } + end + end end |