J'ai un rubygem qui définit une classe SemanticFormBuilder personnalisée qui ajoute un nouveau type d'entrée Formtastic. Le code fonctionne comme prévu, mais je ne peux pas comprendre comment ajouter des tests pour cela. Je pensais que je pourrais faire quelque chose comme charger Formtastic, appelez semantic_form_for, puis l'entrée ad ann qui utilise mon type personnalisé :as
, mais je n'ai aucune idée par où commencer.Comment tester une entrée personnalisée Formtastic avec rspec?
Est-ce que quelqu'un connaît des gemmes qui font quelque chose comme ça que je pourrais jeter un oeil à la source pour? Des suggestions sur où commencer?
Mon petit bijou nécessite Rails 2.3.x
La source de mon entrée personnalisée ressemble à ceci, et je l'inclure dans un initialiseur dans ma demande:
module ClassyEnumHelper
class SemanticFormBuilder < Formtastic::SemanticFormBuilder
def enum_select_input(method, options)
enum_class = object.send(method)
unless enum_class.respond_to? :base_class
raise "#{method} does not refer to a defined ClassyEnum object"
end
options[:collection] = enum_class.base_class.all_with_name
options[:selected] = enum_class.to_s
select_input(method, options)
end
end
end
Je ne sais pas si l'un des mon autre code source aiderait, mais il peut être trouvé ici http://github.com/beerlington/classy_enum
Je ne sais pas si cette réponse fonctionne encore, il me semble continuer à courir dans ' « _routes » est pas disponible à partir d'un exemple (par exemple un bloc « il ») ou de constructions qui fonctionnent en la portée d'un exemple (par exemple . 'avant', 'let', etc.). Il est uniquement disponible sur un exemple de groupe (par exemple, un bloc 'describe' ou 'context'). ' Il se peut aussi que je fasse quelque chose d'arrogant. – counterbeing