From e250cc152964209db7c743342cc1d7f9096b365e Mon Sep 17 00:00:00 2001 From: John Mileham Date: Thu, 7 Mar 2019 16:01:31 -0500 Subject: [PATCH] Clean out finished_at in create (#94) * Clean out finished_at in create * make it raisey --- app/models/split_creation.rb | 1 + spec/models/split_creation_spec.rb | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/app/models/split_creation.rb b/app/models/split_creation.rb index d9a8dd77..e8ce1eba 100644 --- a/app/models/split_creation.rb +++ b/app/models/split_creation.rb @@ -7,6 +7,7 @@ class SplitCreation validate :split_must_be_valid def save + split.finished_at = nil split.reassign_weight(merged_registry) unless split.registry == merged_registry return false unless valid? split.save diff --git a/spec/models/split_creation_spec.rb b/spec/models/split_creation_spec.rb index d16d4d11..cd809d30 100644 --- a/spec/models/split_creation_spec.rb +++ b/spec/models/split_creation_spec.rb @@ -32,6 +32,15 @@ expect(weather.registry.symbolize_keys).to eq rain: 0, snow: 0, clear_skies: 100, hurricane: 0 end + it 'reenables a finished split' do + bad_weather_create.save + Split.find_by!(name: "weather").update!(finished_at: Time.zone.now) + good_weather_create.save + + weather = Split.find_by(name: "weather") + expect(weather.finished_at).to be_nil + end + it 'delegates validation errors to split' do split_creation = SplitCreation.new(app: default_app, name: "bad_test", weighting_registry: { badBadBad: 100 }) expect(split_creation.save).to eq false