aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/enum_test.rb
diff options
context:
space:
mode:
authorRyuta Kamizono <kamipo@gmail.com>2016-07-31 05:08:15 +0900
committerRyuta Kamizono <kamipo@gmail.com>2016-07-31 05:16:20 +0900
commit83f08647d659b3b3e3052215fa0c42324ec81fb7 (patch)
tree9a60ae27310dd6220532184277f8f5270c1292d8 /activerecord/test/cases/enum_test.rb
parent815b730b1b79158511f9f4c8465c476b9fe9b7e0 (diff)
downloadrails-83f08647d659b3b3e3052215fa0c42324ec81fb7.tar.gz
rails-83f08647d659b3b3e3052215fa0c42324ec81fb7.tar.bz2
rails-83f08647d659b3b3e3052215fa0c42324ec81fb7.zip
Fix `enum` with `alias_attribute`
Fixes #25892.
Diffstat (limited to 'activerecord/test/cases/enum_test.rb')
-rw-r--r--activerecord/test/cases/enum_test.rb16
1 files changed, 16 insertions, 0 deletions
diff --git a/activerecord/test/cases/enum_test.rb b/activerecord/test/cases/enum_test.rb
index e781b60464..1ee6f71d08 100644
--- a/activerecord/test/cases/enum_test.rb
+++ b/activerecord/test/cases/enum_test.rb
@@ -393,6 +393,22 @@ class EnumTest < ActiveRecord::TestCase
assert book2.single?
end
+ test "enum with alias_attribute" do
+ klass = Class.new(ActiveRecord::Base) do
+ self.table_name = "books"
+ alias_attribute :aliased_status, :status
+ enum aliased_status: [:proposed, :written, :published]
+ end
+
+ book = klass.proposed.create!
+ assert book.proposed?
+ assert_equal 'proposed', book.aliased_status
+
+ book = klass.find(book.id)
+ assert book.proposed?
+ assert_equal 'proposed', book.aliased_status
+ end
+
test "query state by predicate with prefix" do
assert @book.author_visibility_visible?
assert_not @book.author_visibility_invisible?