Sha256: 6ba9a549b919faa4ece9a09ad4e5465c7b8c0cae87a9f883f3efd5ec5fde65d9
Contents?: true
Size: 1.29 KB
Versions: 2
Compression:
Stored size: 1.29 KB
Contents
require 'test_helper' class FormTest < MiniTest::Spec class AlbumForm < Reform::Form property :title property :hit do property :title end collection :songs do property :title end property :band do # yepp, people do crazy stuff like that. property :label do property :name end end end # combined property/validates syntax. class SongForm < Reform::Form property :composer property :title, validates: {presence: true} properties :genre, :band, validates: {presence: true} end it do form = SongForm.new(OpenStruct.new) form.validate({}) form.errors.to_s.must_equal "{:title=>[\"can't be blank\"], :genre=>[\"can't be blank\"], :band=>[\"can't be blank\"]}" end describe "::dup" do let (:cloned) { AlbumForm.clone } # #dup is called in Op.inheritable_attr(:contract_class), it must be subclass of the original one. it { cloned.wont_equal AlbumForm } it { AlbumForm.definitions.wont_equal cloned.definitions } it do # currently, forms need a name for validation, even without AM. cloned.singleton_class.class_eval do def name "Album" end end cloned.validates :title, presence: true cloned.new(OpenStruct.new).validate({}) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
reform-2.1.0 | test/form_test.rb |
reform-2.1.0.rc1 | test/form_test.rb |