Skip to content

Commit 0cec088

Browse files
Fix failing specs
1 parent 2f88670 commit 0cec088

17 files changed

+44
-30
lines changed

app/controllers/mixins/checked_id_mixin.rb

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,31 @@ def checked_item_id(hash = params)
1010
# Common routine to find checked items on a page (checkbox ids are
1111
# "check_xxx" where xxx is the item id or index)
1212
def find_checked_items(prefix = nil)
13-
nested_list_item_string = ""
13+
has_no_check = true
14+
nested_list_item_key = ""
1415
# Check if nested list items are tagged.
1516
if params["miq_grid_checks"].present?
1617
nested_list_item = params["miq_grid_checks"].split(",")[0]
1718

1819
# Create param string
19-
nested_list_item_string = "select-row-#{nested_list_item}"
20+
nested_list_item_key = "select-row-#{nested_list_item}"
21+
end
22+
23+
params.each do |var, val|
24+
if var.starts_with?("check_")
25+
has_no_check = false
26+
else
27+
next
28+
end
2029
end
2130

2231
# If id is present use id, unless when nested list exists, example on summary pages
23-
if params[:id].present? && params[nested_list_item_string] != "on"
24-
[params[:id]]
32+
if params[:id].present? && params[nested_list_item_key] != "on" && has_no_check
33+
if params[:id].kind_of?(Array)
34+
params[:id]
35+
else
36+
[params[:id]]
37+
end
2538
elsif params[:miq_grid_checks].present?
2639
params[:miq_grid_checks].split(",").collect(&:to_i)
2740
else

spec/controllers/application_controller_spec.rb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -120,14 +120,14 @@
120120
end
121121

122122
describe "#find_checked_items" do
123-
it "returns empty array when button is pressed from summary screen with params as symbol" do
123+
it "returns array with id when button is pressed from summary screen with params as symbol" do
124124
controller.params = {:id => "1"}
125-
expect(controller.send(:find_checked_items)).to eq([])
125+
expect(controller.send(:find_checked_items)).to eq(["1"])
126126
end
127127

128-
it "returns empty array when button is pressed from summary screen with params as string" do
128+
it "returns array with id when button is pressed from summary screen with params as string" do
129129
controller.params = {"id" => "1"}
130-
expect(controller.send(:find_checked_items)).to eq([])
130+
expect(controller.send(:find_checked_items)).to eq(["1"])
131131
end
132132

133133
it "returns list of items selected from list view" do

spec/controllers/auth_key_pair_cloud_controller_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@
9090
allow(controller).to receive(:performed?).and_return(true)
9191
allow(controller).to receive(:render)
9292
controller.instance_variable_set(:@display, 'instances')
93-
controller.params = {:miq_grid_checks => vm_instance.id.to_s, :pressed => 'instance_check_compliance', :id => kp.id.to_s, :controller => 'auth_key_pair_cloud'}
93+
controller.params = {:miq_grid_checks => vm_instance.id.to_s, "select-row-#{vm_instance.id.to_s}" => "on", :pressed => 'instance_check_compliance', :id => kp.id.to_s, :controller => 'auth_key_pair_cloud'}
9494
end
9595

9696
it 'does not initiate Check Compliance because of missing Compliance policies' do

spec/controllers/availability_zone_controller_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
allow(controller).to receive(:performed?).and_return(true)
3333
allow(controller).to receive(:render)
3434
controller.instance_variable_set(:@display, 'instances')
35-
controller.params = {:miq_grid_checks => vm_instance.id.to_s, :pressed => 'instance_check_compliance', :id => av_zone.id.to_s, :controller => 'availability_zone'}
35+
controller.params = {:miq_grid_checks => vm_instance.id.to_s, "select-row-#{vm_instance.id.to_s}" => "on", :pressed => 'instance_check_compliance', :id => av_zone.id.to_s, :controller => 'availability_zone'}
3636
end
3737

3838
it 'does not initiate Check Compliance because of missing Compliance policies' do

spec/controllers/cloud_network_controller_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -396,7 +396,7 @@
396396
end
397397

398398
context 'Check Compliance of Instances displayed in a nested list' do
399-
let(:params) { {:miq_grid_checks => vm_instance.id.to_s, :pressed => 'instance_check_compliance', :id => network.id.to_s, :controller => 'cloud_network'} }
399+
let(:params) { {:miq_grid_checks => vm_instance.id.to_s, "select-row-#{vm_instance.id.to_s}" => "on", :pressed => 'instance_check_compliance', :id => network.id.to_s, :controller => 'cloud_network'} }
400400
let(:vm_instance) { FactoryBot.create(:vm_or_template) }
401401

402402
before { allow(controller).to receive(:performed?).and_return(true) }

spec/controllers/cloud_subnet_controller_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -334,7 +334,7 @@
334334
end
335335

336336
context 'Check Compliance of Instances displayed in a nested list' do
337-
let(:params) { {:miq_grid_checks => vm_instance.id.to_s, :pressed => 'instance_check_compliance', :id => cloud_subnet.id.to_s, :controller => 'cloud_subnet'} }
337+
let(:params) { {:miq_grid_checks => vm_instance.id.to_s, "select-row-#{vm_instance.id.to_s}" => "on", :pressed => 'instance_check_compliance', :id => cloud_subnet.id.to_s, :controller => 'cloud_subnet'} }
338338
let(:vm_instance) { FactoryBot.create(:vm_or_template) }
339339

340340
before { allow(controller).to receive(:performed?).and_return(true) }

spec/controllers/cloud_tenant_controller_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
allow(controller).to receive(:performed?).and_return(true)
5151
allow(controller).to receive(:render)
5252
controller.instance_variable_set(:@display, 'instances')
53-
controller.params = {:miq_grid_checks => vm_instance.id.to_s, :pressed => 'instance_check_compliance', :id => tenant.id.to_s, :controller => 'cloud_tenant'}
53+
controller.params = {:miq_grid_checks => vm_instance.id.to_s, "select-row-#{vm_instance.id.to_s}" => "on", :pressed => 'instance_check_compliance', :id => tenant.id.to_s, :controller => 'cloud_tenant'}
5454
end
5555

5656
it 'does not initiate Check Compliance because of missing Compliance policies' do

spec/controllers/ems_cloud_controller_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -274,7 +274,7 @@ def verify_password_and_confirm(password, verify)
274274
allow(controller).to receive(:performed?).and_return(true)
275275
allow(controller).to receive(:render)
276276
controller.instance_variable_set(:@display, 'instances')
277-
controller.params = {:miq_grid_checks => vm_instance.id.to_s, :pressed => 'instance_check_compliance', :id => ems.id.to_s, :controller => 'ems_cloud'}
277+
controller.params = {:miq_grid_checks => vm_instance.id.to_s, "select-row-#{vm_instance.id.to_s}" => "on", :pressed => 'instance_check_compliance', :id => ems.id.to_s, :controller => 'ems_cloud'}
278278
end
279279

280280
it 'does not initiate Check Compliance because of missing Compliance policies' do

spec/controllers/ems_cluster_controller_spec.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@
7171
allow(controller).to receive(:render)
7272
allow(controller).to receive(:show)
7373
controller.instance_variable_set(:@display, 'vms')
74-
controller.params = {:miq_grid_checks => vm.id.to_s, :pressed => 'vm_check_compliance', :id => cluster.id.to_s, :controller => 'ems_cluster'}
74+
controller.params = {:miq_grid_checks => vm.id.to_s, "select-row-#{vm.id.to_s}" => "on", :pressed => 'vm_check_compliance', :id => cluster.id.to_s, :controller => 'ems_cluster'}
7575
end
7676

7777
it 'does not initiate Check Compliance because of missing Compliance policies' do
@@ -105,7 +105,7 @@
105105
allow(controller).to receive(:drop_breadcrumb)
106106
allow(controller).to receive(:records_support_feature?).and_return(true)
107107
allow(controller).to receive(:render)
108-
controller.params = {:id => cluster.id.to_s, :miq_grid_checks => vm.id.to_s, :pressed => 'vm_scan' }
108+
controller.params = {:id => cluster.id.to_s, :miq_grid_checks => vm.id.to_s, "select-row-#{vm.id.to_s}" => "on", :pressed => 'vm_scan' }
109109
end
110110

111111
%w[vms all_vms].each do |display|
@@ -127,7 +127,7 @@
127127
it 'initiates SSA for selected Template successfully' do
128128
controller.params = {:display => 'miq_templates', :id => cluster.id.to_s}
129129
controller.send(:show)
130-
controller.params = {:id => cluster.id.to_s, :miq_grid_checks => template.id.to_s, :pressed => 'miq_template_scan'}
130+
controller.params = {:id => cluster.id.to_s, :miq_grid_checks => template.id.to_s, "select-row-#{template.id.to_s}" => "on", :pressed => 'miq_template_scan'}
131131
controller.send(:button)
132132
expect(controller.instance_variable_get(:@record)).to eq(cluster)
133133
expect(controller.instance_variable_get(:@view).db).to eq('MiqTemplate')

spec/controllers/ems_infra_controller_spec.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@
128128
allow(controller).to receive(:performed?).and_return(true)
129129
allow(controller).to receive(:render)
130130
controller.instance_variable_set(:@display, 'vms')
131-
controller.params = {:miq_grid_checks => vm.id.to_s, :pressed => 'vm_check_compliance', :id => ems_infra.id.to_s, :controller => 'ems_infra'}
131+
controller.params = {:miq_grid_checks => vm.id.to_s, "select-row-#{vm.id.to_s}" => "on", :pressed => 'vm_check_compliance', :id => ems_infra.id.to_s, :controller => 'ems_infra'}
132132
end
133133

134134
it 'does not initiate Check Compliance because of missing Compliance policies' do
@@ -427,7 +427,7 @@
427427
datastore.parent = @ems
428428
controller.instance_variable_set(:@_orig_action, "x_history")
429429
get :show, :params => {:id => @ems.id, :display => 'storages'}
430-
post :button, :params => {:id => @ems.id, :display => 'storages', :miq_grid_checks => datastore.id, :pressed => "storage_tag", :format => :js}
430+
post :button, :params => {:id => @ems.id, :display => 'storages', :miq_grid_checks => datastore.id, "select-row-#{datastore.id.to_s}" => "on", :pressed => "storage_tag", :format => :js}
431431
expect(response.status).to eq(200)
432432
_breadcrumbs = controller.instance_variable_get(:@breadcrumbs)
433433
expect(assigns(:breadcrumbs)).to eq([{:name => "Infrastructure Providers", :url => "/ems_infra/show_list"},

0 commit comments

Comments
 (0)