diff --git a/app/serializers/api/enterprise_shopfront_serializer.rb b/app/serializers/api/enterprise_shopfront_serializer.rb index ae0e30ff66..d4bc4bc266 100644 --- a/app/serializers/api/enterprise_shopfront_serializer.rb +++ b/app/serializers/api/enterprise_shopfront_serializer.rb @@ -63,7 +63,7 @@ module Api def hubs ActiveModel::ArraySerializer.new( - enterprise.distributors, each_serializer: Api::EnterpriseThinSerializer + enterprise.distributors.not_hidden, each_serializer: Api::EnterpriseThinSerializer ) end diff --git a/spec/serializers/api/enterprise_shopfront_serializer_spec.rb b/spec/serializers/api/enterprise_shopfront_serializer_spec.rb index 1c2ce03ea0..e1863ddc55 100644 --- a/spec/serializers/api/enterprise_shopfront_serializer_spec.rb +++ b/spec/serializers/api/enterprise_shopfront_serializer_spec.rb @@ -50,6 +50,15 @@ describe Api::EnterpriseShopfrontSerializer do expect(serializer.serializable_hash[:hubs].to_json).to match hub.name end + context 'when hub is marked as hidden' do + before { hub.update_column(:visible, 'hidden') } + + it 'serializes an array of public hubs' do + expect(serializer.serializable_hash[:hubs]).to be_a ActiveModel::ArraySerializer + expect(serializer.serializable_hash[:hubs].to_json).not_to match hub.name + end + end + it "serializes an array of producers that are public or linked by links" do expect(serializer.serializable_hash[:producers]).to be_a ActiveModel::ArraySerializer expect(serializer.serializable_hash[:producers].to_json).to match producer.name