diff --git a/spec/controllers/application_controller/explorer_spec.rb b/spec/controllers/application_controller/explorer_spec.rb index a55ba28060d..3352c16c0bd 100644 --- a/spec/controllers/application_controller/explorer_spec.rb +++ b/spec/controllers/application_controller/explorer_spec.rb @@ -34,18 +34,25 @@ end context "#rbac_filtered_objects" do - it "properly calls RBAC" do + let(:ems_folder) { FactoryGirl.create(:ems_folder) } + let!(:ems) { FactoryGirl.create(:ems_vmware, :ems_folders => [ems_folder]) } + let(:user) { FactoryGirl.create(:user_admin) } + let(:vm) { FactoryGirl.create(:vm_vmware, :ext_management_system => ems) } + + before do EvmSpecHelper.create_guid_miq_server_zone - ems_folder = FactoryGirl.create(:ems_folder) - ems = FactoryGirl.create(:ems_vmware, :ems_folders => [ems_folder]) - user = FactoryGirl.create(:user_admin) user.current_group.entitlement = Entitlement.create! user.current_group.entitlement.set_managed_filters([["/managed/service_level/gold"]]) user.current_group.save - login_as user - expect(Rbac.filtered([ems_folder], :match_via_descendants => "VmOrTemplate")).to( - eq([ems_folder])) + + ems_folder.add_child(vm) + end + + it "properly calls RBAC" do + vm.tag_with('/managed/service_level/gold', :ns => '*') + + expect(Rbac.filtered(EmsFolder, :match_via_descendants => "VmOrTemplate", :user => user)).to eq([ems_folder]) end end