From 17faa6c3b2f053952e231a69f324a4f756d11fe8 Mon Sep 17 00:00:00 2001 From: Sivin Varghese <64252451+iamsivin@users.noreply.github.com> Date: Tue, 5 Dec 2023 16:34:29 +0530 Subject: [PATCH] fix: Undefined method `length' for nil:NilClass (#8491) --- app/helpers/portal_helper.rb | 2 ++ spec/helpers/portal_helper_spec.rb | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/app/helpers/portal_helper.rb b/app/helpers/portal_helper.rb index ef16e9797..342bb62aa 100644 --- a/app/helpers/portal_helper.rb +++ b/app/helpers/portal_helper.rb @@ -64,6 +64,8 @@ module PortalHelper def thumbnail_bg_color(username) colors = ['#6D95BA', '#A4C3C3', '#E19191'] + return colors.sample if username.blank? + colors[username.length % colors.size] end end diff --git a/spec/helpers/portal_helper_spec.rb b/spec/helpers/portal_helper_spec.rb index 8ae93fae1..84ed4ba72 100644 --- a/spec/helpers/portal_helper_spec.rb +++ b/spec/helpers/portal_helper_spec.rb @@ -249,7 +249,7 @@ describe PortalHelper do describe '#thumbnail_bg_color' do it 'returns the correct color based on username length' do - expect(helper.thumbnail_bg_color('')).to eq('#6D95BA') # Length 0, so index is 0 + expect(helper.thumbnail_bg_color('')).to be_in(['#6D95BA', '#A4C3C3', '#E19191']) expect(helper.thumbnail_bg_color('Joe')).to eq('#6D95BA') # Length 3, so index is 0 expect(helper.thumbnail_bg_color('John')).to eq('#A4C3C3') # Length 4, so index is 1 expect(helper.thumbnail_bg_color('Jane james')).to eq('#A4C3C3') # Length 10, so index is 1