Acceso a los asistentes de URL de rails_admin desde archivos Rspec

Estoy usando Rails 3.2, RailsAdmin 0.0.3, Rspec y Capybara.

Intento llamar a los ayudantes de URL de RailsAdmin desde mi archivo de especificaciones, como se explica en la wiki de RailsAdmin. rails_admin.new_path(:model_name => :user)

Cuando uso el asistente de esa manera desde un controlador o una vista, funciona bien, pero cuando intento usarlo desde un archivo de especificaciones, aparece este error:

variable local no definida o método `rails_admin' para #RSpec::Core::ExampleGroup::Nested_2:0xbe04948>

Supongo que tengo que agregar algo a mi archivo spec_helper.rb para cargar rails_admin. Pero después de buscar en Google por un tiempo y mirar el spec_helper de rails_admin gem, no puedo entender qué...

¡Cualquier ayuda será apreciada!

preguntado el 22 de mayo de 12 a las 13:05

2 Respuestas

Lo encontré en spec_helper.rb de rails_admin.

Incluya el siguiente código en spec_helper.rb.

RSpec.configure do |config|
  ...
  config.include RailsAdmin::Engine.routes.url_helpers
end

Probé usando el depurador. se puede llamar

> new_path(:model_name => :user)
=> "/admin/user/new"

Respondido el 01 de junio de 12 a las 15:06

Parece config.include RailsAdmin::Engine.routes.url_helpers bloquea mis pruebas de página que no son de administrador. ¿Hay alguna manera de conectar los ayudantes de URL de RailsAdmin por clase de prueba? - dividir entre cero

Agregué esta línea a especificaciones individuales que necesitaban direcciones URL de rails_admin y me permitió hacer referencia a los métodos mencionados en una publicación anterior, pero sin interferir con mis direcciones URL que no son de administrador.

include RailsAdmin::Engine.routes.url_helpers

Ejemplo de método dentro de la especificación

index_path(:model_name => :client)

Estoy usando Rails 5.0, Rspec 3.5 y Capybara 2.10.1

Respondido el 14 de diciembre de 16 a las 14:12

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.