test/errors_test.rb in reform-2.2.2 vs test/errors_test.rb in reform-2.2.3

- old
+ new

@@ -1,165 +1,165 @@ -require "test_helper" +# require "test_helper" -class ErrorsTest < MiniTest::Spec - class AlbumForm < Reform::Form - property :title +# class ErrorsTest < MiniTest::Spec +# class AlbumForm < Reform::Form +# property :title - property :hit do - property :title - validation do - key(:title).required - end - end +# property :hit do +# property :title +# validation do +# key(:title).required +# end +# end - collection :songs do - property :title - validation do - key(:title).required - end - end +# collection :songs do +# property :title +# validation do +# key(:title).required +# end +# end - property :band do # yepp, people do crazy stuff like that. - property :name - property :label do - property :name - validation do - key(:name).required - end - end - # TODO: make band a required object. +# property :band do # yepp, people do crazy stuff like that. +# property :name +# property :label do +# property :name +# validation do +# key(:name).required +# end +# end +# # TODO: make band a required object. - validation do - key(:name).required(:music_taste_ok?) +# validation do +# key(:name).required(:music_taste_ok?) - configure do - config.messages_file = "test/validation/errors.yml" +# configure do +# config.messages_file = "test/validation/errors.yml" - def music_taste_ok?(value) - value != "Nickelback" - # errors.add(:base, "You are a bad person") if name == "Nickelback" - end - end - end - # validate :music_taste_ok? +# def music_taste_ok?(value) +# value != "Nickelback" +# # errors.add(:base, "You are a bad person") if name == "Nickelback" +# end +# end +# end +# # validate :music_taste_ok? - # private - # def music_taste_ok? - # errors.add(:base, "You are a bad person") if name == "Nickelback" - # end - end +# # private +# # def music_taste_ok? +# # errors.add(:base, "You are a bad person") if name == "Nickelback" +# # end +# end - validation do - key(:title).required - end - end +# validation do +# key(:title).required +# end +# end - let (:album) do - OpenStruct.new( - :title => "Blackhawks Over Los Angeles", - :hit => song, - :songs => songs, # TODO: document this requirement, +# let (:album) do +# OpenStruct.new( +# :title => "Blackhawks Over Los Angeles", +# :hit => song, +# :songs => songs, # TODO: document this requirement, - :band => Struct.new(:name, :label).new("Epitaph", OpenStruct.new), - ) - end - let (:song) { OpenStruct.new(:title => "Downtown") } - let (:songs) { [song=OpenStruct.new(:title => "Calling"), song] } - let (:form) { AlbumForm.new(album) } +# :band => Struct.new(:name, :label).new("Epitaph", OpenStruct.new), +# ) +# end +# let (:song) { OpenStruct.new(:title => "Downtown") } +# let (:songs) { [song=OpenStruct.new(:title => "Calling"), song] } +# let (:form) { AlbumForm.new(album) } - describe "incorrect #validate" do - before { form.validate( - "hit" =>{"title" => ""}, - "title" => "", - "songs" => [{"title" => ""}, {"title" => ""}]) } # FIXME: what happens if item is missing? +# describe "incorrect #validate" do +# before { form.validate( +# "hit" =>{"title" => ""}, +# "title" => "", +# "songs" => [{"title" => ""}, {"title" => ""}]) } # FIXME: what happens if item is missing? - it do - form.errors.messages.must_equal({ - :title => ["must be filled"], - :"hit.title"=>["must be filled"], - :"songs.title"=>["must be filled"], - :"band.label.name"=>["is missing"] - }) - end +# it do +# form.errors.messages.must_equal({ +# :title => ["must be filled"], +# :"hit.title"=>["must be filled"], +# :"songs.title"=>["must be filled"], +# :"band.label.name"=>["is missing"] +# }) +# end - it do - #form.errors.must_equal({:title => ["must be filled"]}) - # TODO: this should only contain local errors? - end +# it do +# #form.errors.must_equal({:title => ["must be filled"]}) +# # TODO: this should only contain local errors? +# end - # nested forms keep their own Errors: - it { form.hit.errors.messages.must_equal({:title=>["must be filled"]}) } - it { form.songs[0].errors.messages.must_equal({:title=>["must be filled"]}) } +# # nested forms keep their own Errors: +# it { form.hit.errors.messages.must_equal({:title=>["must be filled"]}) } +# it { form.songs[0].errors.messages.must_equal({:title=>["must be filled"]}) } - it do - form.errors.messages.must_equal({ - :title => ["must be filled"], - :"hit.title" => ["must be filled"], - :"songs.title"=> ["must be filled"], - :"band.label.name"=>["is missing"] - }) - end - end +# it do +# form.errors.messages.must_equal({ +# :title => ["must be filled"], +# :"hit.title" => ["must be filled"], +# :"songs.title"=> ["must be filled"], +# :"band.label.name"=>["is missing"] +# }) +# end +# end - describe "#validate with main form invalid" do - it do - form.validate("title"=>"", "band"=>{"label"=>{:name => "Fat Wreck"}}).must_equal false - form.errors.messages.must_equal({:title=>["must be filled"]}) - end - end +# describe "#validate with main form invalid" do +# it do +# form.validate("title"=>"", "band"=>{"label"=>{:name => "Fat Wreck"}}).must_equal false +# form.errors.messages.must_equal({:title=>["must be filled"]}) +# end +# end - describe "#validate with middle nested form invalid" do - before { @result = form.validate("hit"=>{"title" => ""}, "band"=>{"label"=>{:name => "Fat Wreck"}}) } +# describe "#validate with middle nested form invalid" do +# before { @result = form.validate("hit"=>{"title" => ""}, "band"=>{"label"=>{:name => "Fat Wreck"}}) } - it { @result.must_equal false } - it { form.errors.messages.must_equal({:"hit.title"=>["must be filled"]}) } - end +# it { @result.must_equal false } +# it { form.errors.messages.must_equal({:"hit.title"=>["must be filled"]}) } +# end - describe "#validate with collection form invalid" do - before { @result = form.validate("songs"=>[{"title" => ""}], "band"=>{"label"=>{:name => "Fat Wreck"}}) } +# describe "#validate with collection form invalid" do +# before { @result = form.validate("songs"=>[{"title" => ""}], "band"=>{"label"=>{:name => "Fat Wreck"}}) } - it { @result.must_equal false } - it { form.errors.messages.must_equal({:"songs.title"=>["must be filled"]}) } - end +# it { @result.must_equal false } +# it { form.errors.messages.must_equal({:"songs.title"=>["must be filled"]}) } +# end - describe "#validate with collection and 2-level-nested invalid" do - before { @result = form.validate("songs"=>[{"title" => ""}], "band" => {"label" => {}}) } +# describe "#validate with collection and 2-level-nested invalid" do +# before { @result = form.validate("songs"=>[{"title" => ""}], "band" => {"label" => {}}) } - it { @result.must_equal false } - it { form.errors.messages.must_equal({:"songs.title"=>["must be filled"], :"band.label.name"=>["is missing"]}) } - end +# it { @result.must_equal false } +# it { form.errors.messages.must_equal({:"songs.title"=>["must be filled"], :"band.label.name"=>["is missing"]}) } +# end - describe "#validate with nested form using :base invalid" do - it do - result = form.validate("songs"=>[{"title" => "Someday"}], "band" => {"name" => "Nickelback", "label" => {"name" => "Roadrunner Records"}}) - result.must_equal false - form.errors.messages.must_equal({:"band.name"=>["You are a bad person"]}) - end - end +# describe "#validate with nested form using :base invalid" do +# it do +# result = form.validate("songs"=>[{"title" => "Someday"}], "band" => {"name" => "Nickelback", "label" => {"name" => "Roadrunner Records"}}) +# result.must_equal false +# form.errors.messages.must_equal({:"band.name"=>["You are a bad person"]}) +# end +# end - describe "correct #validate" do - before { @result = form.validate( - "hit" => {"title" => "Sacrifice"}, - "title" => "Second Heat", - "songs" => [{"title"=>"Heart Of A Lion"}], - "band" => {"label"=>{:name => "Fat Wreck"}} - ) } +# describe "correct #validate" do +# before { @result = form.validate( +# "hit" => {"title" => "Sacrifice"}, +# "title" => "Second Heat", +# "songs" => [{"title"=>"Heart Of A Lion"}], +# "band" => {"label"=>{:name => "Fat Wreck"}} +# ) } - it { @result.must_equal true } - it { form.hit.title.must_equal "Sacrifice" } - it { form.title.must_equal "Second Heat" } - it { form.songs.first.title.must_equal "Heart Of A Lion" } - end +# it { @result.must_equal true } +# it { form.hit.title.must_equal "Sacrifice" } +# it { form.title.must_equal "Second Heat" } +# it { form.songs.first.title.must_equal "Heart Of A Lion" } +# end - describe "Errors#to_s" do - before { form.validate("songs"=>[{"title" => ""}], "band" => {"label" => {}}) } +# describe "Errors#to_s" do +# before { form.validate("songs"=>[{"title" => ""}], "band" => {"label" => {}}) } - # to_s is aliased to messages - it { form.errors.to_s.must_equal "{:\"songs.title\"=>[\"must be filled\"], :\"band.label.name\"=>[\"is missing\"]}" } - end -end +# # to_s is aliased to messages +# it { form.errors.to_s.must_equal "{:\"songs.title\"=>[\"must be filled\"], :\"band.label.name\"=>[\"is missing\"]}" } +# end +# end