Skip to content

Commit

Permalink
Merge pull request ManageIQ#13800 from imtayadeway/give-service-bools…
Browse files Browse the repository at this point in the history
…-defaults

Make Service bools default to false
  • Loading branch information
kbrock committed Feb 13, 2017
2 parents ca866e1 + d1668f8 commit dd178c7
Show file tree
Hide file tree
Showing 6 changed files with 87 additions and 1 deletion.
6 changes: 6 additions & 0 deletions app/models/service.rb
Expand Up @@ -68,6 +68,12 @@ class Service < ApplicationRecord

validates_presence_of :name

default_value_for :display, false
default_value_for :retired, false

validates :display, :inclusion => { :in => [true, false] }
validates :retired, :inclusion => { :in => [true, false] }

supports :reconfigure do
unsupported_reason_add(:reconfigure, _("Reconfigure unsupported")) unless validate_reconfigure
end
Expand Down
3 changes: 3 additions & 0 deletions app/models/service_template.rb
Expand Up @@ -151,6 +151,9 @@ def create_service(service_task, parent_svc = nil)
# Hide child services by default
nh[:display] = false if parent_svc

# If display is nil, set it to false
nh[:display] = false if nh[:display].nil?

# convert template class name to service class name by naming convention
nh[:type] = self.class.name.sub('Template', '')

Expand Down
@@ -0,0 +1,14 @@
class SetServiceDisplayAndRetiredToFalse < ActiveRecord::Migration[5.0]
class Service < ActiveRecord::Base
self.inheritance_column = :_type_disabled # disable STI
end

def up
Service.where(:retired => nil).update_all(:retired => false)
Service.where(:display => nil).update_all(:display => false)
end

def down
# NOP
end
end
Expand Up @@ -154,7 +154,7 @@ def invoke_ae
end

it "#finish_retirement" do
expect(service_service.retired).to be_nil
expect(service_service).not_to be_retired
expect(service_service.retirement_state).to be_nil
expect(service_service.retires_on).to be_nil

Expand Down
@@ -0,0 +1,39 @@
require_migration

RSpec.describe SetServiceDisplayAndRetiredToFalse do
migration_context :up do
it "sets any null display values to false" do
service = migration_stub(:Service).create!(:display => nil)

migrate

expect(service.reload.display).to be(false)
end

it "sets any null retired values to false" do
service = migration_stub(:Service).create!(:retired => nil)

migrate

expect(service.reload.retired).to be(false)
end
end

migration_context :down do
it "leaves false display values as false" do
service = migration_stub(:Service).create!(:display => false)

migrate

expect(service.reload.display).to be(false)
end

it "leaves false retired values as false" do
service = migration_stub(:Service).create!(:retired => false)

migrate

expect(service.reload.retired).to be(false)
end
end
end
24 changes: 24 additions & 0 deletions spec/models/service_spec.rb
Expand Up @@ -657,6 +657,30 @@
end
end

describe "#display" do
it "defaults to false" do
service = described_class.new
expect(service.display).to be(false)
end

it "cannot be nil" do
service = FactoryGirl.build(:service, :display => nil)
expect(service).not_to be_valid
end
end

describe "#retired" do
it "defaults to false" do
service = described_class.new
expect(service.retired).to be(false)
end

it "cannot be nil" do
service = FactoryGirl.build(:service, :retired => nil)
expect(service).not_to be_valid
end
end

def create_deep_tree
@service = FactoryGirl.create(:service)
@service_c1 = FactoryGirl.create(:service, :service => @service)
Expand Down

0 comments on commit dd178c7

Please sign in to comment.