From 90a6a9d0587b0d80b58809eb855aba75bcc75b4f Mon Sep 17 00:00:00 2001 From: Nithin David Thomas <1277421+nithindavid@users.noreply.github.com> Date: Thu, 15 Feb 2024 21:45:38 +0530 Subject: [PATCH] Review fixes --- app/controllers/api/v1/accounts_controller.rb | 3 ++- app/javascript/v3/helpers/OnboardingHelper.js | 4 +++- app/javascript/v3/helpers/specs/BrowserHelper.spec.js | 4 ++-- .../v3/helpers/specs/OnboardingHelper.spec.js | 11 ++++++++--- .../enterprise/api/v2/accounts_controller.rb | 2 +- 5 files changed, 16 insertions(+), 8 deletions(-) diff --git a/app/controllers/api/v1/accounts_controller.rb b/app/controllers/api/v1/accounts_controller.rb index 9ce6641fe..c0dac6d9e 100644 --- a/app/controllers/api/v1/accounts_controller.rb +++ b/app/controllers/api/v1/accounts_controller.rb @@ -45,7 +45,8 @@ class Api::V1::AccountsController < Api::BaseController def update @account.assign_attributes(account_params.slice(:name, :locale, :domain, :support_email, :auto_resolve_duration)) - @account.custom_attributes['onboarding_step'] = 'invite_team' if custom_attributes_params[:onboarding_step].present? + @account.custom_attributes.merge!(custom_attributes_params) + @account.custom_attributes['onboarding_step'] = 'invite_team' if @account.custom_attributes['onboarding_step'] == 'account_update' @account.save! end diff --git a/app/javascript/v3/helpers/OnboardingHelper.js b/app/javascript/v3/helpers/OnboardingHelper.js index 1de90ed24..b82ec6d79 100644 --- a/app/javascript/v3/helpers/OnboardingHelper.js +++ b/app/javascript/v3/helpers/OnboardingHelper.js @@ -6,10 +6,12 @@ export const findMatchingOption = (value, options, defaultValue) => { }; export const findCompanySizeMatch = (options, size) => { + if (!size) return undefined; + if (Number.isNaN(size)) return undefined; return ( options.find(option => { const upperLimit = option.value.split('-')[1]?.split('+')[0]; return size < (upperLimit ? Number(upperLimit) : Infinity); - })?.value || this.companySizeOptions[0].value + })?.value || options[0].value ); }; diff --git a/app/javascript/v3/helpers/specs/BrowserHelper.spec.js b/app/javascript/v3/helpers/specs/BrowserHelper.spec.js index f175f6b0a..126f1eb07 100644 --- a/app/javascript/v3/helpers/specs/BrowserHelper.spec.js +++ b/app/javascript/v3/helpers/specs/BrowserHelper.spec.js @@ -8,8 +8,8 @@ describe('getBrowserLocale', () => { configurable: true, }); - const languages = [{ iso_639_1_code: 'en' }, { iso_639_1_code: 'en-US' }]; - expect(getBrowserLocale(languages)).toBe('en-US'); + const languages = [{ iso_639_1_code: 'en' }, { iso_639_1_code: 'en_US' }]; + expect(getBrowserLocale(languages)).toBe('en'); }); it('should return the correct locale code when only a partial match is found', () => { diff --git a/app/javascript/v3/helpers/specs/OnboardingHelper.spec.js b/app/javascript/v3/helpers/specs/OnboardingHelper.spec.js index 4d36d70ea..f75e92fad 100644 --- a/app/javascript/v3/helpers/specs/OnboardingHelper.spec.js +++ b/app/javascript/v3/helpers/specs/OnboardingHelper.spec.js @@ -25,11 +25,16 @@ describe('findCompanySizeMatch', () => { it('should return the correct company size range', () => { const size = 25; - expect(findCompanySizeMatch(size, mockCompanySizeOptions)).toBe('11-50'); + expect(findCompanySizeMatch(mockCompanySizeOptions, size)).toBe('11-50'); }); - it('should return the first company size range when no match is found', () => { + it('should return the last company size range when limit exceeds', () => { const size = 1500; - expect(findCompanySizeMatch(size, mockCompanySizeOptions)).toBe('1-10'); + expect(findCompanySizeMatch(mockCompanySizeOptions, size)).toBe('1001+'); + }); + + it('should return the undefined when no match is found', () => { + const size = undefined; + expect(findCompanySizeMatch(mockCompanySizeOptions, size)).toBe(undefined); }); }); diff --git a/enterprise/app/controllers/enterprise/api/v2/accounts_controller.rb b/enterprise/app/controllers/enterprise/api/v2/accounts_controller.rb index bdd4ba2a2..238368131 100644 --- a/enterprise/app/controllers/enterprise/api/v2/accounts_controller.rb +++ b/enterprise/app/controllers/enterprise/api/v2/accounts_controller.rb @@ -29,7 +29,7 @@ module Enterprise::Api::V2::AccountsController 'company_size' => data[:company_size], 'timezone' => data[:timezone], 'logo' => data[:logo], - 'onboarding_step' => 'account_update' + 'onboarding_step' => 'profile_update' ) ) end