diff --git a/src/libs/API/parameters/AddPersonalBankAccountParams.ts b/src/libs/API/parameters/AddPersonalBankAccountParams.ts index 496c9a6b02c6..20b5b92c014f 100644 --- a/src/libs/API/parameters/AddPersonalBankAccountParams.ts +++ b/src/libs/API/parameters/AddPersonalBankAccountParams.ts @@ -13,6 +13,7 @@ type AddPersonalBankAccountParams = { legalFirstName?: string; legalLastName?: string; addressStreet?: string; + addressStreet2?: string; addressCity?: string; addressState?: string; addressZip?: string; diff --git a/src/libs/actions/BankAccounts.ts b/src/libs/actions/BankAccounts.ts index b5e617f090f8..af8ea02d9a52 100644 --- a/src/libs/actions/BankAccounts.ts +++ b/src/libs/actions/BankAccounts.ts @@ -561,7 +561,8 @@ function addPersonalBankAccount( phoneNumber: account?.phoneNumber, legalFirstName: account?.legalFirstName, legalLastName: account?.legalLastName, - addressStreet: getFormattedStreet(account?.addressStreet, account?.addressStreet2), + addressStreet: account?.addressStreet, + addressStreet2: account?.addressStreet2 ?? '', addressCity: account?.addressCity, addressState: account?.addressState, addressZip: account?.addressZipCode, diff --git a/tests/unit/BankAccountsTest.ts b/tests/unit/BankAccountsTest.ts index e588c964c9f2..909c95750e0a 100644 --- a/tests/unit/BankAccountsTest.ts +++ b/tests/unit/BankAccountsTest.ts @@ -100,6 +100,32 @@ describe('BankAccounts', () => { const personalBankAccount = await getOnyxValue(ONYXKEYS.PERSONAL_BANK_ACCOUNT); expect(getLatestErrorMessage(personalBankAccount)).toBe(serverMessage); }); + + test('sends both address lines as separate params', () => { + // Given an account with a second address line, which the API rejects when joined into addressStreet with a newline + const account = {addressStreet: '123 Main St', addressStreet2: 'Apt 4B'}; + + // When adding the personal bank account + addPersonalBankAccount(account, undefined); + + // Then each line is sent in its own param so the backend can store both + expect(mockWrite).toHaveBeenCalledWith( + WRITE_COMMANDS.ADD_PERSONAL_BANK_ACCOUNT, + expect.objectContaining({addressStreet: '123 Main St', addressStreet2: 'Apt 4B'}), + expect.anything(), + ); + }); + + test('sends an empty second address line when addressStreet2 is missing', () => { + // Given an account without a second address line + const account = {addressStreet: '123 Main St'}; + + // When adding the personal bank account + addPersonalBankAccount(account, undefined); + + // Then the second line is sent as an empty string, matching updatePersonalBankAccountInfo + expect(mockWrite).toHaveBeenCalledWith(WRITE_COMMANDS.ADD_PERSONAL_BANK_ACCOUNT, expect.objectContaining({addressStreet: '123 Main St', addressStreet2: ''}), expect.anything()); + }); }); describe('deletePaymentBankAccount', () => {