aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/json_attribute_test.rb
blob: a6fd4f34dc106e018fc646fa8c646d3391a8fbad (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# frozen_string_literal: true

require "cases/helper"
require "cases/json_shared_test_cases"

if ActiveRecord::Base.connection.supports_json?
  class JsonAttributeTest < ActiveRecord::TestCase
    include JSONSharedTestCases
    self.use_transactional_tests = false

    class JsonDataTypeOnText < ActiveRecord::Base
      self.table_name = "json_data_type"

      attribute :payload,  :json
      attribute :settings, :json

      store_accessor :settings, :resolution
    end

    def setup
      super
      @connection.create_table("json_data_type") do |t|
        t.text "payload"
        t.text "settings"
      end
    end

    private
      def column_type
        :text
      end

      def klass
        JsonDataTypeOnText
      end
  end
end