diff --git a/lib/en57/json_serializer.rb b/lib/en57/json_serializer.rb index a842462..4ee9b77 100644 --- a/lib/en57/json_serializer.rb +++ b/lib/en57/json_serializer.rb @@ -56,12 +56,12 @@ module En57 end [ JSON.generate(serialized), - (JSON.generate(metadata) unless metadata.empty?), + (JSON.generate("serializer" => metadata) unless metadata.empty?), ] end def load(string, description) - desc = description ? JSON.parse(description) : {} + desc = description ? JSON.parse(description).fetch("serializer") : {} JSON .parse(string) .to_h do |k, v| diff --git a/test/test_json_serializer.rb b/test/test_json_serializer.rb index 9e3df63..92f269a 100644 --- a/test/test_json_serializer.rb +++ b/test/test_json_serializer.rb @@ -54,7 +54,7 @@ module En57 payload = { k.value => v.value } serialized = JSON.dump(k.serialized => v.serialized) - description = meta.empty? ? nil : JSON.dump(meta) + description = meta.empty? ? nil : JSON.dump("serializer" => meta) define_method("test_dump_#{k.name}_key_#{v.name}_value") do assert_equal([serialized, description], serializer.dump(payload)) diff --git a/test/test_repository.rb b/test/test_repository.rb index 17cb8df..4333d83 100644 --- a/test/test_repository.rb +++ b/test/test_repository.rb @@ -15,7 +15,7 @@ module En57 ids[0], "CreditsToppedUp", '{"amount":100}', - '{"amount":{"k":"Symbol"}}', + '{"serializer":{"amount":{"k":"Symbol"}}}', "{order_id:123}", ], ), @@ -24,7 +24,7 @@ module En57 ids[1], "CreditsToppedUp", '{"amount":50}', - '{"amount":{"k":"Symbol"}}', + '{"serializer":{"amount":{"k":"Symbol"}}}', "{order_id:234}", ], ), @@ -262,7 +262,7 @@ module En57 "id" => ids[0], "type" => "CreditsToppedUp", "data" => '{"amount":100}', - "meta" => '{"amount":{"k":"Symbol"}}', + "meta" => '{"serializer":{"amount":{"k":"Symbol"}}}', "tags" => "{}", }, ],