test/unique_test.rb in reform-2.0.1 vs test/unique_test.rb in reform-2.0.2
- old
+ new
@@ -1,11 +1,13 @@
require "test_helper"
require "reform/form/validation/unique_validator.rb"
+require "reform/form/active_record"
class UniquenessValidatorOnCreateTest < MiniTest::Spec
class SongForm < Reform::Form
+ include ActiveRecord
property :title
validates :title, unique: true
end
it do
@@ -19,12 +21,14 @@
form.validate("title" => "How Many Tears").must_equal false
form.errors.to_s.must_equal "{:title=>[\"title must be unique.\"]}"
end
end
+
class UniquenessValidatorOnUpdateTest < MiniTest::Spec
class SongForm < Reform::Form
+ include ActiveRecord
property :title
validates :title, unique: true
end
it do
@@ -37,5 +41,24 @@
form = SongForm.new(@song)
form.validate("title" => "How Many Tears").must_equal true
end
end
+
+
+class UniqueWithCompositionTest < MiniTest::Spec
+ class SongForm < Reform::Form
+ include ActiveRecord
+ include Composition
+
+ property :title, on: :song
+ validates :title, unique: true
+ end
+
+ it do
+ Song.delete_all
+
+ form = SongForm.new(song: Song.new)
+ form.validate("title" => "How Many Tears").must_equal true
+ form.save
+ end
+end
\ No newline at end of file