Skip to content

Commit 241cefb

Browse files
authored
Merge pull request #9728 from agrare/fix_configuration_script_base_prov_get_form_vars
Fix prov_get_form_vars for ConfigurationScriptBase
2 parents 22ded37 + c1d6ea8 commit 241cefb

File tree

2 files changed

+42
-1
lines changed

2 files changed

+42
-1
lines changed

app/controllers/application_controller/miq_request_methods.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -833,7 +833,7 @@ def prov_get_form_vars
833833
@edit[:new][f.to_sym] = [val, v.name] # Save [value, description]
834834
end
835835
elsif evm_object_class == :ConfigurationScriptBase
836-
if v.id.to_i == val.id.to_i
836+
if v.id.to_i == val.to_i
837837
@edit[:new][f.to_sym] = [val, v.name] # Save [value, name]
838838
end
839839
elsif v[1].to_i == val.to_i

spec/controllers/application_controller/miq_request_methods_spec.rb

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,47 @@
5555
end
5656
end
5757

58+
describe '#prov_get_form_vars' do
59+
before { stub_user(:features => %w[miq_request_edit]) }
60+
61+
context "with an AutomationManager Provision Workflow" do
62+
let(:dialog) { FactoryBot.create(:miq_provision_configuration_script_dialog) }
63+
let(:wf) { MiqProvisionConfigurationScriptWorkflow.new({:provision_dialog_name => dialog.name}, User.current_user.userid) }
64+
let(:ems) { FactoryBot.create(:automation_manager, :url => "http://automation.localdomain") }
65+
let(:config_script) { FactoryBot.create(:configuration_script, :manager => ems) }
66+
67+
it "sets the src_configuration_script_id" do
68+
wf.instance_variable_set(
69+
:@dialogs,
70+
{
71+
:dialogs => {
72+
:service => {
73+
:fields => {
74+
:src_configuration_script_id => {
75+
:description => "Configuration Script",
76+
:required => true,
77+
:display => :edit,
78+
:data_type => :integer,
79+
:values => [
80+
OpenStruct.new(:id => config_script.id, :evm_object_class => :ConfigurationScriptBase, :name => config_script.name, :manager_name => ems.name)
81+
]
82+
}
83+
}
84+
}
85+
}
86+
}
87+
)
88+
89+
controller.params = {"service__src_configuration_script_id" => config_script.id.to_s, "id" => "new", "controller" => "miq_request", "action" => "prov_field_changed"}
90+
controller.instance_variable_set(:@edit, :wf => wf, :new => {})
91+
controller.send(:prov_get_form_vars)
92+
93+
edit = controller.instance_variable_get(:@edit)
94+
expect(edit.dig(:new, :src_configuration_script_id)).to eq([config_script.id, config_script.name])
95+
end
96+
end
97+
end
98+
5899
describe '#prov_edit' do
59100
it 'redirects to the last link in breadcrumbs' do
60101
allow_any_instance_of(described_class).to receive(:set_user_time_zone)

0 commit comments

Comments
 (0)