Estoy bastante confundido sobre cómo validar los valores booleanos en Rspec y Rails. Entiendo que todo excepto false
y nil
se toman como true
en Ruby. Pero cuando uso MySQL con Rails, usa 1
para true
y 0
para false
(si mi comprensión es correcta).Validación del valor booleano en Rspec y Rails
Tengo las siguientes especificaciones del modelo. Me gustaría probar el valor booleano para el atributo superuser
.
- ¿Cómo puedo escribir especificaciones aquí?
- ¿Cómo puedo escribir el código de implementación aquí?
¿Mis especificaciones y el código de implementación son específicos de una base de datos específica (como MySQL y PostgreSQL)?
require 'spec_helper' describe User do before(:each) do @valid_attributes = { :username => "mike", :password => "super_encryped_password", :email => "[email protected]", :superuser => true } end it "should create a new instance given valid attributes" do User.create!(@valid_attributes) end it "should have true or false for superuser" do @valid_attributes[:superuser] = "hello" User.new(@valid_attributes).should have(1).error_on(:superuser) end end
Esa es la respuesta que quería. No necesito preocuparme mientras establezca el campo booleano. Me alegra oír eso. –
es que lo mismo en columnas de tiempo? –
@TK: exactamente así. – edgerunner