From a1b19d579d885b50b62e225aa82ddc81ce9cd952 Mon Sep 17 00:00:00 2001 From: Rick Carlino Date: Fri, 23 Mar 2018 09:49:44 -0500 Subject: [PATCH] Tests for the in_use flag --- spec/factories/farm_event.rb | 4 +-- .../flat_ir_stuff/fetch_celery_spec.rb | 32 +++++++++++++++++++ 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/spec/factories/farm_event.rb b/spec/factories/farm_event.rb index 9ba561129..88ca9adce 100644 --- a/spec/factories/farm_event.rb +++ b/spec/factories/farm_event.rb @@ -1,8 +1,8 @@ FactoryBot.define do factory :farm_event do start_time { Date.yesterday - [*(1..5)].sample.days } - end_time { Date.today + 1.minute + ([*(1..5)].sample).days } - time_unit { FarmEvent::UNITS_OF_TIME.sample } + end_time { Date.today + 1.minute + ([*(1..5)].sample).days } + time_unit { FarmEvent::UNITS_OF_TIME.sample } repeat { [*(1..5)].sample } # device after(:build) do |s| diff --git a/spec/mutations/flat_ir_stuff/fetch_celery_spec.rb b/spec/mutations/flat_ir_stuff/fetch_celery_spec.rb index 99afdaa62..231747755 100644 --- a/spec/mutations/flat_ir_stuff/fetch_celery_spec.rb +++ b/spec/mutations/flat_ir_stuff/fetch_celery_spec.rb @@ -5,6 +5,38 @@ describe CeleryScript::FetchCelery do let(:user) { FactoryBot.create(:user) } let(:device) { user.device } + it "marks in_use as false when not in use" do + in_use = \ + CeleryScript::FetchCelery.run!(sequence: FakeSequence.create())[:in_use] + expect(in_use).to be(false) + end + + it "marks a sequence as in_use by Regimen" do + sequence = FakeSequence.create() + ri = RegimenItem.new(time_offset: 100, sequence_id: sequence.id) + regimen = FactoryBot.create(:regimen, regimen_items: [ri]) + results = CeleryScript::FetchCelery.run!(sequence: sequence) + + expect(results[:in_use]).to be(true) + end + + it "marks a sequence as in_use by FarmEvent" do + fe = FactoryBot.create(:farm_event) + sequence = fe.executable + results = CeleryScript::FetchCelery.run!(sequence: sequence) + + expect(results[:in_use]).to be(true) + end + + it "marks a sequence as in_use by Sequence" do + sequence = FakeSequence.create() + user = FakeSequence.create(body: [ + { kind: "execute", args: { sequence_id: sequence.id } } + ]) + results = CeleryScript::FetchCelery.run!(sequence: sequence) + expect(results[:in_use]).to be(true) + end + __NOTHING______ = "nothing" it "Makes JSON that is identical to the legacy implementation - part 1" do