Sha256: 398be348660d67d0934afb5fe17e819090e0996732d34f796eea191e5952d10e

Contents?: true

Size: 1.75 KB

Versions: 1

Compression:

Stored size: 1.75 KB

Contents

module ForestLiana
  class ResourceUpdaterTest < ActiveSupport::TestCase

    collection = ForestLiana::Model::Collection.new({
      name: 'serialize_fields',
      fields: [{
        type: 'String',
        field: 'field'
      }]
    })

    ForestLiana.apimap << collection
    ForestLiana.models << SerializeField

    test 'Update a record on a "serialize" attribute with a missing value' do
      params = ActionController::Parameters.new(
        id: 1,
        data: {
          id: 1,
          type: "serialize_field",
          attributes: {}
        }
      )
      updater = ResourceUpdater.new(SerializeField, params)
      updater.perform

      assert updater.record.valid?
      assert updater.record.field == []
    end

    test 'Update a record on a "serialize" attribute with a bad format value' do
      params = ActionController::Parameters.new(
        id: 1,
        data: {
          id: 1,
          type: "serialize_field",
          attributes: {
            field: "Lucas"
          }
        }
      )
      updater = ResourceUpdater.new(SerializeField, params)
      updater.perform

      assert updater.record.valid?
      assert updater.record.field == "value 1"
      assert updater.errors[0][:detail] == "Bad format for 'field' attribute value."
    end

    test 'Update a record on a "serialize" attribute with a well formated value' do
      params = ActionController::Parameters.new(
        id: 1,
        data: {
          id: 1,
          type: "serialize_field",
          attributes: {
            field: "[\"test\", \"test\"]"
          }
        }
      )
      updater = ResourceUpdater.new(SerializeField, params)
      updater.perform

      assert updater.record.valid?
      assert updater.record.field == ["test", "test"]
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
forest_liana-1.6.12 test/services/forest_liana/resource_updater_test.rb