Sha256: e8bdbde8ac21a62c6b5c253190e4f8ae0d208f5a6e8ad40d8b72f705ef650f46
Contents?: true
Size: 1.04 KB
Versions: 1
Compression:
Stored size: 1.04 KB
Contents
require "test_helper" require_relative "../../../spec/support/custom_json_serializer" class MixinJsonTest < ActiveSupport::TestCase setup do # Setup a hash with random values, ensuring some values are nil @hash = {} (1..4).each do |i| @hash["key#{i}"] = [FFaker::Lorem.word, nil].sample end @hash["tkey"] = nil @hash[""] = "foo" @hash_as_json = @hash.to_json end context "`load` class method" do should "exist" do assert CustomJsonSerializer.respond_to?(:load) end should "`deserialize` JSON to Ruby, removing pairs with `blank` keys or values" do assert_equal( @hash.reject { |k, v| k.blank? || v.blank? }, CustomJsonSerializer.load(@hash_as_json) ) end end context "`dump` class method" do should "exist" do assert CustomJsonSerializer.respond_to?(:dump) end should "`serialize` Ruby to JSON, removing pairs with `nil` values" do assert_equal @hash.reject { |_k, v| v.nil? }.to_json, CustomJsonSerializer.dump(@hash) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
paper_trail-7.0.3 | test/unit/serializers/mixin_json_test.rb |