aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/adapters/sqlite3/json_test.rb
diff options
context:
space:
mode:
authorRyuta Kamizono <kamipo@gmail.com>2017-06-02 04:43:08 +0900
committerRyuta Kamizono <kamipo@gmail.com>2017-10-05 17:38:07 +0900
commit563c16c7cbccc2f3a088139bfb855865a51b027e (patch)
tree101561dd7e69065f482ea1f0c9a7fbf98eaaf11b /activerecord/test/cases/adapters/sqlite3/json_test.rb
parent214dc7d82d8a87914d5d426b7e8460300000acc2 (diff)
downloadrails-563c16c7cbccc2f3a088139bfb855865a51b027e.tar.gz
rails-563c16c7cbccc2f3a088139bfb855865a51b027e.tar.bz2
rails-563c16c7cbccc2f3a088139bfb855865a51b027e.zip
Add JSON attribute test cases for SQLite3 adapter
Diffstat (limited to 'activerecord/test/cases/adapters/sqlite3/json_test.rb')
-rw-r--r--activerecord/test/cases/adapters/sqlite3/json_test.rb29
1 files changed, 29 insertions, 0 deletions
diff --git a/activerecord/test/cases/adapters/sqlite3/json_test.rb b/activerecord/test/cases/adapters/sqlite3/json_test.rb
new file mode 100644
index 0000000000..568a524058
--- /dev/null
+++ b/activerecord/test/cases/adapters/sqlite3/json_test.rb
@@ -0,0 +1,29 @@
+# frozen_string_literal: true
+
+require "cases/helper"
+require "cases/json_shared_test_cases"
+
+class SQLite3JSONTest < ActiveRecord::SQLite3TestCase
+ include JSONSharedTestCases
+
+ def setup
+ super
+ @connection.create_table("json_data_type") do |t|
+ t.column "payload", :json, default: {}
+ t.column "settings", :json
+ end
+ end
+
+ def test_default
+ @connection.add_column "json_data_type", "permissions", column_type, default: { "users": "read", "posts": ["read", "write"] }
+ klass.reset_column_information
+
+ assert_equal({ "users" => "read", "posts" => ["read", "write"] }, klass.column_defaults["permissions"])
+ assert_equal({ "users" => "read", "posts" => ["read", "write"] }, klass.new.permissions)
+ end
+
+ private
+ def column_type
+ :json
+ end
+end