Skip to content

Commit

Permalink
Merge pull request #3980 from skateman/physical-quad-fix
Browse files Browse the repository at this point in the history
 Restrict quadicon class demodulization for Physical* records only
  • Loading branch information
mzazrivec committed May 24, 2018
2 parents da1580e + ce857b1 commit 1d35266
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 1 deletion.
2 changes: 1 addition & 1 deletion app/helpers/quadicon_helper.rb
Expand Up @@ -70,7 +70,7 @@ def self.settings_key(klass, layout)
when "ems_physical_infra", "ems_cloud", "ems_network", "ems_container"
layout.to_sym
end
elsif klass.base_model.name != klass.name.demodulize
elsif klass.name.demodulize.starts_with?("Physical") && klass.base_model.name != klass.name.demodulize
klass.name.demodulize.underscore.to_sym
else
klass.base_model.name.underscore.to_sym
Expand Down
22 changes: 22 additions & 0 deletions spec/helpers/quadicon_helper_spec.rb
@@ -1,2 +1,24 @@
describe QuadiconHelper do
describe '.settings_key' do
subject { described_class.settings_key(klass, layout) }

{
:ems => [ManageIQ::Providers::Vmware::InfraManager, 'ems_infra'],
:ems_physical_infra => [ManageIQ::Providers::Lenovo::PhysicalInfraManager, 'ems_physical_infra'],
:ems_cloud => [ManageIQ::Providers::Openstack::CloudManager, 'ems_cloud'],
:ems_network => [ManageIQ::Providers::Amazon::NetworkManager, 'ems_network'],
:ems_container => [ManageIQ::Providers::Openshift::ContainerManager, 'ems_container'],
:physical_switch => [ManageIQ::Providers::Lenovo::PhysicalInfraManager::PhysicalSwitch, nil],
:switch => [Switch, nil]
}.each do |result, input|
context "class is #{input.first} with #{input.last} as layout" do
let(:klass) { input.first }
let(:layout) { input.last }

it "returns with #{result}" do
expect(subject).to eq(result)
end
end
end
end
end

0 comments on commit 1d35266

Please sign in to comment.