diff options
Diffstat (limited to 'activerecord/test/cases/enum_test.rb')
-rw-r--r-- | activerecord/test/cases/enum_test.rb | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/activerecord/test/cases/enum_test.rb b/activerecord/test/cases/enum_test.rb new file mode 100644 index 0000000000..9855261e4d --- /dev/null +++ b/activerecord/test/cases/enum_test.rb @@ -0,0 +1,36 @@ +require 'cases/helper' +require 'models/book' + +class StoreTest < ActiveRecord::TestCase + fixtures :books + + setup do + @book = Book.create! name: 'REMOTE' + end + + test "query state by predicate" do + assert @book.proposed? + assert_not @book.written? + assert_not @book.published? + end + + test "query state with symbol" do + assert_equal :proposed, @book.status + end + + test "update by declaration" do + @book.written! + assert @book.written? + end + + test "update by setter" do + @book.update! status: :written + assert @book.written? + end + + test "constant" do + assert_equal 0, Book::STATUS[:proposed] + assert_equal 1, Book::STATUS[:written] + assert_equal 2, Book::STATUS[:published] + end +end |