From 74a8edaa152b3e0af31571b5622c1b1e9d09c07f Mon Sep 17 00:00:00 2001 From: hsong-rh Date: Thu, 19 Jul 2018 15:14:43 -0400 Subject: [PATCH] Add internal column to ServiceTemplate table https://bugzilla.redhat.com/show_bug.cgi?id=1594408 --- ...163110_add_internal_to_service_template.rb | 17 ++++++++++++++ ...0_add_internal_to_service_template_spec.rb | 23 +++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 db/migrate/20180719163110_add_internal_to_service_template.rb create mode 100644 spec/migrations/20180719163110_add_internal_to_service_template_spec.rb diff --git a/db/migrate/20180719163110_add_internal_to_service_template.rb b/db/migrate/20180719163110_add_internal_to_service_template.rb new file mode 100644 index 000000000..173f9d36d --- /dev/null +++ b/db/migrate/20180719163110_add_internal_to_service_template.rb @@ -0,0 +1,17 @@ +class AddInternalToServiceTemplate < ActiveRecord::Migration[5.0] + class ServiceTemplate < ActiveRecord::Base + self.inheritance_column = :_type_disabled + end + + def up + add_column :service_templates, :internal, :boolean + + say_with_time("Set ServiceTemplate internal") do + ServiceTemplate.where(:type => "ServiceTemplateTransformationPlan").update_all(:internal => true) + end + end + + def down + remove_column :service_templates, :internal + end +end diff --git a/spec/migrations/20180719163110_add_internal_to_service_template_spec.rb b/spec/migrations/20180719163110_add_internal_to_service_template_spec.rb new file mode 100644 index 000000000..e1243b1e8 --- /dev/null +++ b/spec/migrations/20180719163110_add_internal_to_service_template_spec.rb @@ -0,0 +1,23 @@ +require_migration + +describe AddInternalToServiceTemplate do + let(:service_template_stub) { migration_stub(:ServiceTemplate) } + + migration_context :up do + it "sets internal to true when type is ServiceTemplateTransformationPlan" do + st = service_template_stub.create!(:type => 'ServiceTemplateTransformationPlan') + + migrate + + expect(st.reload.internal).to be_truthy + end + + it "skip internal for other types" do + st = service_template_stub.create!(:type => 'OtherServiceTemplateType') + + migrate + + expect(st.reload.internal).to be_nil + end + end +end