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