From 660f552e0032627058231929436e3af0f7c5b053 Mon Sep 17 00:00:00 2001
From: Ethan Tison <97046400+EJTison@users.noreply.github.com>
Date: Wed, 5 Oct 2022 13:48:19 -0400
Subject: [PATCH 1/6] I have no idea if this would work.
---
.../editRecurringGifts/step1/editRecurringGifts.component.js | 4 ++++
.../editRecurringGifts/step1/editRecurringGifts.tpl.html | 2 +-
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/app/profile/yourGiving/editRecurringGifts/step1/editRecurringGifts.component.js b/src/app/profile/yourGiving/editRecurringGifts/step1/editRecurringGifts.component.js
index 63ae2a559..9a06ddb21 100644
--- a/src/app/profile/yourGiving/editRecurringGifts/step1/editRecurringGifts.component.js
+++ b/src/app/profile/yourGiving/editRecurringGifts/step1/editRecurringGifts.component.js
@@ -41,6 +41,10 @@ class EditRecurringGiftsController {
allPaymentMethodsValid () {
return every(this.recurringGifts, gift => gift.paymentMethod)
}
+
+ allAmountsValid () {
+ return every(this.recurringGifts, gift => gift.amount)
+ }
}
export default angular
diff --git a/src/app/profile/yourGiving/editRecurringGifts/step1/editRecurringGifts.tpl.html b/src/app/profile/yourGiving/editRecurringGifts/step1/editRecurringGifts.tpl.html
index 35fe0013e..fcfa7e485 100644
--- a/src/app/profile/yourGiving/editRecurringGifts/step1/editRecurringGifts.tpl.html
+++ b/src/app/profile/yourGiving/editRecurringGifts/step1/editRecurringGifts.tpl.html
@@ -51,7 +51,7 @@
Make changes to your recurring gifts
Retry
Continue
From 9e73530bf35e6c7b848262e3a181ef5355f1da2e Mon Sep 17 00:00:00 2001
From: Ethan Tison <97046400+EJTison@users.noreply.github.com>
Date: Wed, 5 Oct 2022 15:50:53 -0400
Subject: [PATCH 2/6] Added test for new method... Types may not let test pass
---
.../editRecurringGifts.component.spec.js | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/src/app/profile/yourGiving/editRecurringGifts/step1/editRecurringGifts.component.spec.js b/src/app/profile/yourGiving/editRecurringGifts/step1/editRecurringGifts.component.spec.js
index 955154120..13712154d 100644
--- a/src/app/profile/yourGiving/editRecurringGifts/step1/editRecurringGifts.component.spec.js
+++ b/src/app/profile/yourGiving/editRecurringGifts/step1/editRecurringGifts.component.spec.js
@@ -72,5 +72,24 @@ describe('editRecurringGiftsModal', () => {
expect(self.controller.allPaymentMethodsValid()).toEqual(false)
})
})
+
+ describe('allAmountsValid', () => {
+ beforeEach(() => {
+ RecurringGiftModel.amount = 50
+ })
+
+ it('should return true if all amounts are valid', () => {
+ self.controller.recurringGifts = [new RecurringGiftModel({}).setDefaults(), new RecurringGiftModel({}).setDefaults()]
+
+ expect(self.controller.allAmountsValid()).toEqual(true)
+ })
+
+ it('should return false if any amount is invalid', () => {
+ self.controller.recurringGifts = [new RecurringGiftModel({}).setDefaults(), new RecurringGiftModel({}).setDefaults()]
+ self.controller.recurringGifts[0].amount = ''
+
+ expect(self.controller.allAmountsValid()).toEqual(false)
+ })
+ })
})
})
From 140a88f34a81fe89be9e167fd6da820fb385a0e2 Mon Sep 17 00:00:00 2001
From: Ethan Tison <97046400+EJTison@users.noreply.github.com>
Date: Fri, 7 Oct 2022 10:04:58 -0400
Subject: [PATCH 3/6] Created Gift Validator Service
---
.../giftHelpers/giftValidator.service.js | 5 ++++
.../giftHelpers/giftValidator.service.spec.js | 30 +++++++++++++++++++
2 files changed, 35 insertions(+)
create mode 100644 src/common/services/giftHelpers/giftValidator.service.js
create mode 100644 src/common/services/giftHelpers/giftValidator.service.spec.js
diff --git a/src/common/services/giftHelpers/giftValidator.service.js b/src/common/services/giftHelpers/giftValidator.service.js
new file mode 100644
index 000000000..7add3d9c0
--- /dev/null
+++ b/src/common/services/giftHelpers/giftValidator.service.js
@@ -0,0 +1,5 @@
+
+export function allGiftsValid (recurringGifts) {
+ return every(recurringGifts, gift => gift.paymentMethod) && every(recurringGifts, gift => gift.amount)
+ }
+
diff --git a/src/common/services/giftHelpers/giftValidator.service.spec.js b/src/common/services/giftHelpers/giftValidator.service.spec.js
new file mode 100644
index 000000000..0ff775718
--- /dev/null
+++ b/src/common/services/giftHelpers/giftValidator.service.spec.js
@@ -0,0 +1,30 @@
+
+import * as giftValidator from './giftValidator.service'
+import RecurringGiftModel from 'common/models/recurringGift.model'
+
+describe('giftValidator service', () => {
+
+ describe('allGiftsValid', () => {
+ beforeEach(() => {
+ RecurringGiftModel.amount = 50
+ recurringGifts = [new RecurringGiftModel({}).setDefaults(), new RecurringGiftModel({}).setDefaults()]
+ })
+
+ it('should return true if all payment methods and all amounts are valid', () => {
+ expect(giftValidator.allGiftsValid(recurringGifts)).toEqual(true)
+ })
+
+ it('should return false if any payment method is invalid', () => {
+
+ recurringGifts[0].paymentMethodId = 'something invalid'
+
+ expect(giftValidator.allGiftsValid(recurringGifts)).toEqual(false)
+ })
+
+ it('should return false if any amount is invalid', () => {
+ recurringGifts[0].amount = ''
+
+ expect(giftValidator.allGiftsValid(recurringGifts)).toEqual(false)
+ })
+ })
+})
From 82d1157d3e84c287d97e3c19451dc22ba015067d Mon Sep 17 00:00:00 2001
From: Ethan Tison <97046400+EJTison@users.noreply.github.com>
Date: Fri, 7 Oct 2022 10:08:17 -0400
Subject: [PATCH 4/6] Alter html files to rely on soon-to-be-implemented
component refactor
---
.../editRecurringGifts/step1/editRecurringGifts.tpl.html | 2 +-
.../step3/configureRecentRecipients.tpl.html | 5 ++++-
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/app/profile/yourGiving/editRecurringGifts/step1/editRecurringGifts.tpl.html b/src/app/profile/yourGiving/editRecurringGifts/step1/editRecurringGifts.tpl.html
index fcfa7e485..87d49c609 100644
--- a/src/app/profile/yourGiving/editRecurringGifts/step1/editRecurringGifts.tpl.html
+++ b/src/app/profile/yourGiving/editRecurringGifts/step1/editRecurringGifts.tpl.html
@@ -51,7 +51,7 @@ Make changes to your recurring gifts
Retry
Continue
diff --git a/src/app/profile/yourGiving/editRecurringGifts/step3/configureRecentRecipients.tpl.html b/src/app/profile/yourGiving/editRecurringGifts/step3/configureRecentRecipients.tpl.html
index 22d0af798..37bd28a2d 100644
--- a/src/app/profile/yourGiving/editRecurringGifts/step3/configureRecentRecipients.tpl.html
+++ b/src/app/profile/yourGiving/editRecurringGifts/step3/configureRecentRecipients.tpl.html
@@ -37,6 +37,9 @@ Set up your new recurring gifts
-
+
From 62434acf26d14e1f7b5c72cebaad41f7f01ddf9e Mon Sep 17 00:00:00 2001
From: Ethan Tison <97046400+EJTison@users.noreply.github.com>
Date: Fri, 7 Oct 2022 11:08:43 -0400
Subject: [PATCH 5/6] Think the component will work, but little confidence in
the spec...
---
.../step1/editRecurringGifts.component.js | 9 ++--
.../editRecurringGifts.component.spec.js | 43 ++-----------------
2 files changed, 7 insertions(+), 45 deletions(-)
diff --git a/src/app/profile/yourGiving/editRecurringGifts/step1/editRecurringGifts.component.js b/src/app/profile/yourGiving/editRecurringGifts/step1/editRecurringGifts.component.js
index 9a06ddb21..60771c613 100644
--- a/src/app/profile/yourGiving/editRecurringGifts/step1/editRecurringGifts.component.js
+++ b/src/app/profile/yourGiving/editRecurringGifts/step1/editRecurringGifts.component.js
@@ -5,6 +5,7 @@ import giftListItem from 'common/components/giftViews/giftListItem/giftListItem.
import giftUpdateView from 'common/components/giftViews/giftUpdateView/giftUpdateView.component'
import donationsService from 'common/services/api/donations.service'
+import { allGiftsValid } from 'common/services/giftHelpers/giftValidator.service'
import template from './editRecurringGifts.tpl.html'
@@ -38,12 +39,8 @@ class EditRecurringGiftsController {
}
}
- allPaymentMethodsValid () {
- return every(this.recurringGifts, gift => gift.paymentMethod)
- }
-
- allAmountsValid () {
- return every(this.recurringGifts, gift => gift.amount)
+ allGiftsValid () {
+ return allGiftsValid(this.recurringGifts)
}
}
diff --git a/src/app/profile/yourGiving/editRecurringGifts/step1/editRecurringGifts.component.spec.js b/src/app/profile/yourGiving/editRecurringGifts/step1/editRecurringGifts.component.spec.js
index 13712154d..db59328ba 100644
--- a/src/app/profile/yourGiving/editRecurringGifts/step1/editRecurringGifts.component.spec.js
+++ b/src/app/profile/yourGiving/editRecurringGifts/step1/editRecurringGifts.component.spec.js
@@ -50,45 +50,10 @@ describe('editRecurringGiftsModal', () => {
})
})
- describe('allPaymentMethodsValid', () => {
- beforeEach(() => {
- RecurringGiftModel.paymentMethods = [
- {
- self: { uri: '/selfservicepaymentinstruments/crugive/giydgnrxgm=' }
- }
- ]
- })
-
- it('should return true if all payment methods are valid', () => {
- self.controller.recurringGifts = [new RecurringGiftModel({}).setDefaults(), new RecurringGiftModel({}).setDefaults()]
-
- expect(self.controller.allPaymentMethodsValid()).toEqual(true)
- })
-
- it('should return false if any payment methods is invalid', () => {
- self.controller.recurringGifts = [new RecurringGiftModel({}).setDefaults(), new RecurringGiftModel({}).setDefaults()]
- self.controller.recurringGifts[0].paymentMethodId = 'something invalid'
-
- expect(self.controller.allPaymentMethodsValid()).toEqual(false)
- })
- })
-
- describe('allAmountsValid', () => {
- beforeEach(() => {
- RecurringGiftModel.amount = 50
- })
-
- it('should return true if all amounts are valid', () => {
- self.controller.recurringGifts = [new RecurringGiftModel({}).setDefaults(), new RecurringGiftModel({}).setDefaults()]
-
- expect(self.controller.allAmountsValid()).toEqual(true)
- })
-
- it('should return false if any amount is invalid', () => {
- self.controller.recurringGifts = [new RecurringGiftModel({}).setDefaults(), new RecurringGiftModel({}).setDefaults()]
- self.controller.recurringGifts[0].amount = ''
-
- expect(self.controller.allAmountsValid()).toEqual(false)
+ describe('allGiftsValid', () => {
+ it('should call the GiftValidator service', () => {
+ self.controller.allGiftsValid()
+ expect(allGiftsValid).toHaveBeenCalled()
})
})
})
From f8e0ee3b6e0b4a0dffcad8e736357b9606aadb06 Mon Sep 17 00:00:00 2001
From: Ethan Tison <97046400+EJTison@users.noreply.github.com>
Date: Fri, 7 Oct 2022 13:07:12 -0400
Subject: [PATCH 6/6] I have no idea how to solve this problem... Might have to
leave this for someone who actually knows this stuff
---
.../step3/configureRecentRecipients.component.js | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/app/profile/yourGiving/editRecurringGifts/step3/configureRecentRecipients.component.js b/src/app/profile/yourGiving/editRecurringGifts/step3/configureRecentRecipients.component.js
index e4f5b6c00..a25e6f6fa 100644
--- a/src/app/profile/yourGiving/editRecurringGifts/step3/configureRecentRecipients.component.js
+++ b/src/app/profile/yourGiving/editRecurringGifts/step3/configureRecentRecipients.component.js
@@ -3,6 +3,7 @@ import angular from 'angular'
import giftListItem from 'common/components/giftViews/giftListItem/giftListItem.component'
import giftUpdateView from 'common/components/giftViews/giftUpdateView/giftUpdateView.component'
+import { allGiftsValid } from 'common/services/giftHelpers/giftValidator.service'
import template from './configureRecentRecipients.tpl.html'
const componentName = 'step3ConfigureRecentRecipients'
@@ -10,6 +11,10 @@ const componentName = 'step3ConfigureRecentRecipients'
class ConfigureRecentRecipientsController {
/* @ngInject */
constructor () /* eslint-disable-line no-useless-constructor */ {}
+
+ allGiftsValid () {
+ return allGiftsValid(//Somehow I need to get access to the recurring gifts here??)
+ }
}
export default angular