У меня есть rubygem, который определяет собственный класс SemanticFormBuilder, который добавляет новый тип ввода Formtastic. Код работает так, как ожидалось, но я не могу понять, как добавить к нему тесты. Я думал, что могу сделать что-то вроде загрузки Formtastic, вызвать semantic_form_for, а затем добавить объявление, которое использует мой собственный тип :as
, но я не знаю, с чего начать.Как протестировать пользовательский ввод Formtastic с помощью rspec?
Кто-нибудь знает о каких-либо драгоценных камнях, которые делают что-то подобное, чтобы я мог взглянуть на источник? Любые предложения о том, с чего начать?
Мой драгоценный камень требует Rails 2.3.x
Источник для моего пользовательского ввода выглядит следующим образом, и я в том числе его в инициализаторе в моем приложении:
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
Не уверен, что если какой-либо из мой другой исходный код поможет, но его можно найти здесь http://github.com/beerlington/classy_enum
Я не уверен, если этот ответ до сих пор работает, я, кажется, продолжает работать в '«_routes»не доступны из примера (например, 'это блок) или из конструкций, которые работают в сфера применения примера (например, . 'before', 'let' и т. д.). Он доступен только в примерной группе (например, блок «описать» или «контекст»). Возможно, очень хорошо, что я что-то делаю. – counterbeing