A minitest intercepts data before processing
<code>puts role.inspect
puts @operator_roles.to_s
puts @operator_roles.class
[... returns ...]
#<Role id: 701618302, name: "store_operator", created_at: [...]
[830861402, 290770238, 590087265, 701618302]
Array
</code>
<code>puts role.inspect
puts @operator_roles.to_s
puts @operator_roles.class
[... returns ...]
#<Role id: 701618302, name: "store_operator", created_at: [...]
[830861402, 290770238, 590087265, 701618302]
Array
</code>
puts role.inspect
puts @operator_roles.to_s
puts @operator_roles.class
[... returns ...]
#<Role id: 701618302, name: "store_operator", created_at: [...]
[830861402, 290770238, 590087265, 701618302]
Array
whereas the controller method intercepts the variables it is working with
<code>puts @u_ru.inspect
puts @u_role.class
puts @u_role
puts @operator_roles.include?(@u_role)
[... returns ...]
#<Roleuser id: 156660381, user_id: 701618302, role_id: 701618302 [...]
Integer
701618302
false
</code>
<code>puts @u_ru.inspect
puts @u_role.class
puts @u_role
puts @operator_roles.include?(@u_role)
[... returns ...]
#<Roleuser id: 156660381, user_id: 701618302, role_id: 701618302 [...]
Integer
701618302
false
</code>
puts @u_ru.inspect
puts @u_role.class
puts @u_role
puts @operator_roles.include?(@u_role)
[... returns ...]
#<Roleuser id: 156660381, user_id: 701618302, role_id: 701618302 [...]
Integer
701618302
false
the method in question is
<code> def user_operator?
@user_operator = (@u_ru && @operator_roles.include?(@u_role))
end
</code>
<code> def user_operator?
@user_operator = (@u_ru && @operator_roles.include?(@u_role))
end
</code>
def user_operator?
@user_operator = (@u_ru && @operator_roles.include?(@u_role))
end
thus is evaluating differently between the contorller method and the intercepted data. Something must be wrong with the test configuration (admittedly, the user_id and role_id are identical and that is a bit bothersome, but it should not ahve an impact), what could it be?