From 45c6a70d915df8bae9f309f0d9782dcb492eab6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= Date: Thu, 26 Sep 2019 18:56:34 +0200 Subject: [PATCH] Fix extra `nil` added to assigned investment IDs When `valuator_group` was `nil`, `[valuator_group&.investment_ids]` is evaluated to `nil`, and so we were adding an extra element to the array. We could add a `compact` call to the resulting array, but I find it easier to convert `nil` to an array using `to_a`. --- app/models/valuator.rb | 2 +- spec/models/valuator_spec.rb | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/app/models/valuator.rb b/app/models/valuator.rb index 625395f0c..994f7ba58 100644 --- a/app/models/valuator.rb +++ b/app/models/valuator.rb @@ -18,7 +18,7 @@ class Valuator < ApplicationRecord end def assigned_investment_ids - investment_ids + [valuator_group&.investment_ids].flatten + investment_ids + valuator_group&.investment_ids.to_a end end diff --git a/spec/models/valuator_spec.rb b/spec/models/valuator_spec.rb index 7f1efa3c7..021d47d33 100644 --- a/spec/models/valuator_spec.rb +++ b/spec/models/valuator_spec.rb @@ -28,8 +28,8 @@ describe Valuator do investment2.valuators << valuator assigned_investment_ids = valuator.assigned_investment_ids - expect(assigned_investment_ids).to include investment1.id - expect(assigned_investment_ids).to include investment2.id + + expect(assigned_investment_ids).to match_array [investment1.id, investment2.id] expect(assigned_investment_ids).not_to include investment3.id end @@ -45,8 +45,8 @@ describe Valuator do investment2.valuator_groups << group assigned_investment_ids = valuator.assigned_investment_ids - expect(assigned_investment_ids).to include investment1.id - expect(assigned_investment_ids).to include investment2.id + + expect(assigned_investment_ids).to match_array [investment1.id, investment2.id] expect(assigned_investment_ids).not_to include investment3.id end end