Sha256: 6aa874d25c84c70a81fd146e6aadf6f81fdbc82a168a4ca347066e69e77d3b58
Contents?: true
Size: 1.22 KB
Versions: 3
Compression:
Stored size: 1.22 KB
Contents
require "test_helper" class FormTest < MiniTest::Spec Artist = Struct.new(:name) class AlbumForm < TestForm 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 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.validation do params { required(:title).filled } end cloned.new(OpenStruct.new).validate({}) end end describe "#initialize" do class ArtistForm < TestForm property :name property :current_user, virtual: true end it "allows injecting :virtual options" do ArtistForm.new(Artist.new, current_user: Object).current_user.must_equal Object end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
reform-2.3.2 | test/form_new_api.rb |
reform-2.3.1 | test/form_new_api.rb |
reform-2.3.0.rc2 | test/form_new_api.rb |