From 58adda34778ef2c874ee86e491d05042b99e6a18 Mon Sep 17 00:00:00 2001 From: Godfrey Chan Date: Fri, 13 Feb 2015 16:46:52 -0800 Subject: Break up these tests Make sure we have coverage for both the find/build cases --- activerecord/test/cases/enum_test.rb | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) (limited to 'activerecord') diff --git a/activerecord/test/cases/enum_test.rb b/activerecord/test/cases/enum_test.rb index 43fca42478..0cb34b5960 100644 --- a/activerecord/test/cases/enum_test.rb +++ b/activerecord/test/cases/enum_test.rb @@ -26,10 +26,15 @@ class EnumTest < ActiveRecord::TestCase assert_equal @book, Book.unread.first end - test "build from scope" do - assert Book.proposed.build.proposed? - refute Book.proposed.build.written? - assert Book.where(status: Book.statuses[:proposed]).build.proposed? + test "find via where with values" do + proposed, written = Book.statuses[:proposed], Book.statuses[:written] + + assert_equal @book, Book.where(status: proposed).first + refute_equal @book, Book.where(status: written).first + assert_equal @book, Book.where(status: [proposed]).first + refute_equal @book, Book.where(status: [written]).first + refute_equal @book, Book.where("status <> ?", proposed).first + assert_equal @book, Book.where("status <> ?", written).first end test "find via where with symbols" do @@ -50,6 +55,20 @@ class EnumTest < ActiveRecord::TestCase assert_equal @book, Book.where("status <> ?", "written").first end + test "build from scope" do + assert Book.written.build.written? + refute Book.written.build.proposed? + end + + test "build from where" do + assert Book.where(status: Book.statuses[:written]).build.written? + refute Book.where(status: Book.statuses[:written]).build.proposed? + assert Book.where(status: :written).build.written? + refute Book.where(status: :written).build.proposed? + assert Book.where(status: "written").build.written? + refute Book.where(status: "written").build.proposed? + end + test "update by declaration" do @book.written! assert @book.written? -- cgit v1.2.3