Skip to content

Commit

Permalink
fix: monthly good and auto deposit calculations doing string concat i…
Browse files Browse the repository at this point in the history
…nstead of addition MP-882
  • Loading branch information
emuvente committed Sep 27, 2024
1 parent c16b6c6 commit 51411c5
Show file tree
Hide file tree
Showing 5 changed files with 30 additions and 21 deletions.
8 changes: 5 additions & 3 deletions src/components/AutoDeposit/AutoDepositSignUpForm.vue
Original file line number Diff line number Diff line change
Expand Up @@ -214,14 +214,16 @@ export default {
minValue: minValue(0),
maxValue: maxValue(10000),
combinedTotal(value) {
return +value + this.donation < 10000 && +value + this.donation > 0;
const total = numeral(value).value() + numeral(this.donation).value();
return total < 10000 && total > 0;
}
},
donation: {
minValue: minValue(0),
maxValue: maxValue(10000),
combinedTotal(value) {
return value + this.adAmount < 10000 && value + this.adAmount > 0;
const total = numeral(value).value() + numeral(this.adAmount).value();
return total < 10000 && total > 0;
}
},
dayOfMonth: {
Expand Down Expand Up @@ -324,7 +326,7 @@ export default {
},
computed: {
totalCombinedDeposit() {
return this.donation + +this.adAmount;
return numeral(this.donation).value() + numeral(this.adAmount).value();
},
dropdownOptions() {
if (this.isDonationOptionsDirty) {
Expand Down
7 changes: 4 additions & 3 deletions src/components/Forms/MonthlyGoodUpdateForm.vue
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,7 @@
</template>
<script>
import numeral from 'numeral';
import { useVuelidate } from '@vuelidate/core';
import { required, minValue, maxValue } from '@vuelidate/validators';
Expand Down Expand Up @@ -246,14 +247,14 @@ export default {
minValue: minValue(5),
maxValue: maxValue(10000),
maxTotal(value) {
return value + this.donation < 10000;
return numeral(value).value() + numeral(this.donation).value() < 10000;
}
},
donation: {
minValue: minValue(0),
maxValue: maxValue(10000),
maxTotal(value) {
return value + this.mgAmount < 10000;
return numeral(value).value() + numeral(this.mgAmount).value() < 10000;
}
},
dayOfMonth: {
Expand Down Expand Up @@ -298,7 +299,7 @@ export default {
},
computed: {
totalCombinedDeposit() {
return this.form.donation + this.form.mgAmount;
return numeral(this.form.donation).value() + numeral(this.form.mgAmount).value();
},
},
methods: {
Expand Down
7 changes: 4 additions & 3 deletions src/components/Subscriptions/SubscriptionsAutoDeposit.vue
Original file line number Diff line number Diff line change
Expand Up @@ -313,6 +313,7 @@
<script>
import { gql } from 'graphql-tag';
import numeral from 'numeral';
import { useVuelidate } from '@vuelidate/core';
import { required, minValue, maxValue } from '@vuelidate/validators';
Expand Down Expand Up @@ -378,14 +379,14 @@ export default {
minValue: minValue(5),
maxValue: maxValue(10000),
maxTotal(value) {
return value + this.donation < 10000;
return numeral(value).value() + numeral(this.donation).value() < 10000;
}
},
donation: {
minValue: minValue(0),
maxValue: maxValue(10000),
maxTotal(value) {
return value + this.mgAmount < 10000;
return numeral(value).value() + numeral(this.mgAmount).value() < 10000;
}
},
dayOfMonth: {
Expand Down Expand Up @@ -426,7 +427,7 @@ export default {
},
computed: {
totalCombinedDeposit() {
return this.donation + this.mgAmount;
return numeral(this.donation).value() + numeral(this.mgAmount).value();
},
isChanged() {
return this.v$.$dirty;
Expand Down
5 changes: 3 additions & 2 deletions src/components/Subscriptions/SubscriptionsMonthlyGood.vue
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,7 @@

<script>
import { gql } from 'graphql-tag';
import numeral from 'numeral';
import loanGroupCategoriesMixin from '#src/plugins/loan-group-categories';
Expand Down Expand Up @@ -351,8 +352,8 @@ export default {
formUpdated({
mgAmount, donation, dayOfMonth, category, isChanged, isFormValid
}) {
this.mgAmount = mgAmount;
this.donation = donation;
this.mgAmount = numeral(mgAmount).value();
this.donation = numeral(donation).value();
this.dayOfMonth = dayOfMonth;
this.category = category;
this.isChanged = isChanged;
Expand Down
24 changes: 14 additions & 10 deletions src/pages/MonthlyGood/MonthlyGoodSetupPage.vue
Original file line number Diff line number Diff line change
Expand Up @@ -310,6 +310,7 @@ import { subDays } from 'date-fns';
import logReadQueryError from '#src/util/logReadQueryError';
import { checkLastLoginTime } from '#src/util/authenticationGuard';
import { myFTDQuery } from '#src/util/checkoutUtils';
import { getFullUrl } from '#src/util/urlUtils';
import authenticationQuery from '#src/graphql/query/authenticationQuery.graphql';
import hasEverLoggedInQuery from '#src/graphql/query/shared/hasEverLoggedIn.graphql';
Expand Down Expand Up @@ -460,14 +461,14 @@ export default {
minValue: minValue(5),
maxValue: maxValue(10000),
maxTotal(value) {
return value + this.donation < 10000;
return numeral(value).value() + numeral(this.donation).value() < 10000;
}
},
donation: {
minValue: minValue(0),
maxValue: maxValue(10000),
maxTotal(value) {
return value + this.mgAmount < 10000;
return numeral(value) + numeral(this.mgAmount).value() < 10000;
}
},
dayOfMonth: {
Expand Down Expand Up @@ -664,8 +665,8 @@ export default {
const mgSignupData = {
mgTotalAmount: this.totalCombinedDeposit,
mgLendingAmount: this.mgAmount,
mgDonationAmount: this.donation,
mgLendingAmount: numeral(this.mgAmount).value(),
mgDonationAmount: numeral(this.donation).value(),
mgDayOfMonth: this.dayOfMonth,
mgCategory: this.selectedGroup,
isFTD: false,
Expand Down Expand Up @@ -703,16 +704,19 @@ export default {
computed: {
// change url parameters if form values are changed for login redirect
loginRedirectUrl() {
let redirectString = this.$route.path;
// eslint-disable-next-line max-len
redirectString += `?amount=${this.mgAmount}&category=${this.selectedGroup}&day=${this.dayOfMonth}&initDonation=${this.donation}`;
const params = {
amount: numeral(this.mgAmount).value(),
category: this.selectedGroup,
day: this.dayOfMonth,
initDonation: numeral(this.donation).value()
};
if (this.source) {
redirectString += `&source=${this.source}`;
params.source = this.source;
}
return encodeURIComponent(redirectString);
return getFullUrl(this.$route.path, params);
},
totalCombinedDeposit() {
return this.donation + this.mgAmount;
return numeral(this.donation).value() + numeral(this.mgAmount).value();
},
dropdownOptions() {
if (this.isDonationOptionsDirty) {
Expand Down

0 comments on commit 51411c5

Please sign in to comment.