@@ -868,6 +868,61 @@ def self.name; "Book"; end
868
868
assert_equal "published" , klass . new . status
869
869
end
870
870
871
+ test ":_default is invalid in the new API" do
872
+ error = assert_raises ( ArgumentError ) do
873
+ Class . new ( ActiveRecord ::Base ) do
874
+ self . table_name = "books"
875
+ enum :status , [ :proposed , :written , :published ] , _default : :published
876
+ end
877
+ end
878
+
879
+ assert_match ( /invalid option\( s\) : :_default/ , error . message )
880
+ end
881
+
882
+ test ":_prefix is invalid in the new API" do
883
+ error = assert_raises ( ArgumentError ) do
884
+ Class . new ( ActiveRecord ::Base ) do
885
+ self . table_name = "books"
886
+ enum :status , [ :proposed , :written , :published ] , _prefix : true
887
+ end
888
+ end
889
+
890
+ assert_match ( /invalid option\( s\) : :_prefix/ , error . message )
891
+ end
892
+
893
+ test ":_suffix is invalid in the new API" do
894
+ error = assert_raises ( ArgumentError ) do
895
+ Class . new ( ActiveRecord ::Base ) do
896
+ self . table_name = "books"
897
+ enum :status , [ :proposed , :written , :published ] , _suffix : true
898
+ end
899
+ end
900
+
901
+ assert_match ( /invalid option\( s\) : :_suffix/ , error . message )
902
+ end
903
+
904
+ test ":_scopes is invalid in the new API" do
905
+ error = assert_raises ( ArgumentError ) do
906
+ Class . new ( ActiveRecord ::Base ) do
907
+ self . table_name = "books"
908
+ enum :status , [ :proposed , :written , :published ] , _scopes : false
909
+ end
910
+ end
911
+
912
+ assert_match ( /invalid option\( s\) : :_scopes/ , error . message )
913
+ end
914
+
915
+ test ":_instance_methods is invalid in the new API" do
916
+ error = assert_raises ( ArgumentError ) do
917
+ Class . new ( ActiveRecord ::Base ) do
918
+ self . table_name = "books"
919
+ enum :status , [ :proposed , :written , :published ] , _instance_methods : false
920
+ end
921
+ end
922
+
923
+ assert_match ( /invalid option\( s\) : :_instance_methods/ , error . message )
924
+ end
925
+
871
926
test "scopes can be disabled by :scopes" do
872
927
klass = Class . new ( ActiveRecord ::Base ) do
873
928
self . table_name = "books"
0 commit comments