ruby-on-rails - tutorial - rspec rails
¿Cómo pruebo una respuesta 204 en RSpec en Rails? (2)
Estoy probando la acción de eliminación de mi controlador de recursos de la siguiente manera:
describe ResourceController do
context "DELETE destroy" do
before :each do
delete :destroy, id: @resource.id
end
it { should respond_with(:no_content) }
end
end
Espero una respuesta 204 / sin contenido. Sin embargo, esta prueba falla ya que la respuesta devuelta por el servidor es un 406. La respuesta es 204 cuando presiono el controlador directamente desde mi cliente de prueba de reposo.
Esta página muestra cómo probar el código de respuesta.
describe ResourceController do
context "DELETE destroy" do
it "should respond with a 204"
delete :destroy, id: @resource.id
response.code.should eql(204)
end
end
end
Han pasado un par de años ...
Solo me gustaría señalar que es posible usar la sintaxis de expect
y consultar el código de estado directamente.
describe ResourceController do
context "DELETE destroy" do
it "should respond with a 204"
delete :destroy, id: @resource.id
expect(response).to have_http_status(:no_content)
end
end
end