From 926a90bac3507d0851068eaca816e0fe538e4b00 Mon Sep 17 00:00:00 2001 From: Fara Woolf Date: Wed, 27 Mar 2024 12:47:33 -0500 Subject: [PATCH] fix: wrong send stx validation msg --- src/app/common/validation/forms/amount-validators.ts | 4 ++-- .../send-crypto-asset-form/form/stx/use-stx-send-form.tsx | 4 +++- tests/specs/send/send-stx.spec.ts | 8 ++++++-- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/app/common/validation/forms/amount-validators.ts b/src/app/common/validation/forms/amount-validators.ts index fc1c46e3e95..7b5007f94e5 100644 --- a/src/app/common/validation/forms/amount-validators.ts +++ b/src/app/common/validation/forms/amount-validators.ts @@ -73,12 +73,12 @@ export function btcMinimumSpendValidator() { }); } -export function stxAmountValidator() { +export function stxAmountValidator(availableStxBalance: Money) { return yup .number() .typeError(FormErrorMessages.MustBeNumber) .concat(currencyAmountValidator()) - .concat(stxAmountPrecisionValidator(formatPrecisionError())); + .concat(stxAmountPrecisionValidator(formatPrecisionError(availableStxBalance))); } export function stxAvailableBalanceValidator(availableBalance: Money) { diff --git a/src/app/pages/send/send-crypto-asset-form/form/stx/use-stx-send-form.tsx b/src/app/pages/send/send-crypto-asset-form/form/stx/use-stx-send-form.tsx index 61aee92f800..78ad2f2b77d 100644 --- a/src/app/pages/send/send-crypto-asset-form/form/stx/use-stx-send-form.tsx +++ b/src/app/pages/send/send-crypto-asset-form/form/stx/use-stx-send-form.tsx @@ -58,7 +58,9 @@ export function useStxSendForm() { stxFees, validationSchema: yup.object({ - amount: stxAmountValidator().concat(stxAvailableBalanceValidator(availableStxBalance)), + amount: stxAmountValidator(availableStxBalance).concat( + stxAvailableBalanceValidator(availableStxBalance) + ), fee: stxFeeValidator(availableStxBalance), recipient, memo, diff --git a/tests/specs/send/send-stx.spec.ts b/tests/specs/send/send-stx.spec.ts index d4a6d104040..c0e3a3982b7 100644 --- a/tests/specs/send/send-stx.spec.ts +++ b/tests/specs/send/send-stx.spec.ts @@ -8,6 +8,8 @@ import { SendPage } from '@tests/page-object-models/send.page'; import { SharedComponentsSelectors } from '@tests/selectors/shared-component.selectors'; import { getDisplayerAddress } from '@tests/utils'; +import { STX_DECIMALS } from '@shared/constants'; + import { FormErrorMessages } from '@app/common/error-messages'; import { test } from '../../fixtures/fixtures'; @@ -106,7 +108,8 @@ test.describe('send stx', () => { await sPage.amountInput.fill('0.0000001'); await sPage.amountInput.blur(); const errorMsg = await sPage.amountInputErrorLabel.innerText(); - test.expect(errorMsg).toEqual(FormErrorMessages.MustBePositive); + const error = FormErrorMessages.TooMuchPrecision; + test.expect(errorMsg).toEqual(error.replace('{decimals}', String(STX_DECIMALS))); }); test('that the amount is greater than the available balance', async () => { @@ -160,7 +163,8 @@ test.describe('send stx', () => { await sPage.previewSendTxButton.click(); const errorMsg = await sPage.amountInputErrorLabel.innerText(); - test.expect(errorMsg).toEqual(FormErrorMessages.MustBePositive); + const error = FormErrorMessages.TooMuchPrecision; + test.expect(errorMsg).toEqual(error.replace('{decimals}', String(STX_DECIMALS))); await sPage.amountInput.fill('0.000001'); await sPage.previewSendTxButton.click(); const details = await sPage.confirmationDetails.allInnerTexts();