From d18d0ef6b16ce78c43f31bb508a23a447c3ff012 Mon Sep 17 00:00:00 2001 From: Maikel Linke Date: Tue, 24 Jan 2023 11:51:44 +1100 Subject: [PATCH] Parse JSON to test variant and distributor ids We looked at the whole JSON string before and sometimes a distributor id would match a variant id which made the test flaky. --- spec/serializers/api/admin/order_cycle_serializer_spec.rb | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/spec/serializers/api/admin/order_cycle_serializer_spec.rb b/spec/serializers/api/admin/order_cycle_serializer_spec.rb index 2e0b3b1f79..f65cbc273b 100644 --- a/spec/serializers/api/admin/order_cycle_serializer_spec.rb +++ b/spec/serializers/api/admin/order_cycle_serializer_spec.rb @@ -18,11 +18,15 @@ describe Api::Admin::OrderCycleSerializer do end it "serializes the order cycle with editable_variants_for_incoming_exchanges" do - expect(serializer.editable_variants_for_incoming_exchanges.to_json).to include order_cycle.variants.first.id.to_s - expect(serializer.editable_variants_for_incoming_exchanges.to_json).to_not include order_cycle.distributors.first.id.to_s + expect(from_json(serializer.editable_variants_for_incoming_exchanges).values.sum).to include order_cycle.variants.first.id + expect(from_json(serializer.editable_variants_for_incoming_exchanges).keys).to_not include order_cycle.distributors.first.id.to_s end it "serializes the order cycle with editable_variants_for_outgoing_exchanges" do expect(serializer.editable_variants_for_outgoing_exchanges.to_json).to include order_cycle.variants.first.id.to_s end + + def from_json(serializer_result) + JSON.parse(serializer_result.to_json) + end end