Correct a bug for where paydate comes as a string
This commit is contained in:
parent
b20a635ab0
commit
a45991ff15
3 changed files with 37 additions and 3 deletions
|
@ -10,11 +10,19 @@ module InsertRecurringDonation
|
||||||
.merge(token: {required: true, format: UUID::Regex}))
|
.merge(token: {required: true, format: UUID::Regex}))
|
||||||
|
|
||||||
unless data[:recurring_donation].nil?
|
unless data[:recurring_donation].nil?
|
||||||
|
|
||||||
ParamValidation.new(data[:recurring_donation], {
|
ParamValidation.new(data[:recurring_donation], {
|
||||||
interval: {is_integer: true},
|
interval: {is_integer: true},
|
||||||
start_date: {can_be_date: true},
|
start_date: {can_be_date: true},
|
||||||
time_unit: {included_in: %w(month day week year)},
|
time_unit: {included_in: %w(month day week year)},
|
||||||
paydate: {is_integer:true, min: 1, max: 28}
|
paydate: {is_integer:true}
|
||||||
|
})
|
||||||
|
if (data[:recurring_donation][:paydate])
|
||||||
|
data[:recurring_donation][:paydate] = data[:recurring_donation][:paydate].to_i
|
||||||
|
end
|
||||||
|
|
||||||
|
ParamValidation.new(data[:recurring_donation], {
|
||||||
|
paydate: {min:1, max:28}
|
||||||
})
|
})
|
||||||
|
|
||||||
else
|
else
|
||||||
|
|
|
@ -11,12 +11,35 @@ describe InsertRecurringDonation do
|
||||||
|
|
||||||
it 'does recurring donation validation' do
|
it 'does recurring donation validation' do
|
||||||
expect {InsertRecurringDonation.with_stripe(amount: 1, nonprofit_id: 1, supporter_id: 1, token: fake_uuid,
|
expect {InsertRecurringDonation.with_stripe(amount: 1, nonprofit_id: 1, supporter_id: 1, token: fake_uuid,
|
||||||
recurring_donation: {interval: "not number", start_date: "not_date", time_unit: 4})}.to raise_error {|e|
|
recurring_donation: {interval: "not number", start_date: "not_date", time_unit: 4, paydate: "faf"})}.to raise_error {|e|
|
||||||
expect(e).to be_a ParamValidation::ValidationError
|
expect(e).to be_a ParamValidation::ValidationError
|
||||||
expect_validation_errors(e.data, [
|
expect_validation_errors(e.data, [
|
||||||
{key: :interval, name: :is_integer},
|
{key: :interval, name: :is_integer},
|
||||||
{key: :start_date, name: :can_be_date},
|
{key: :start_date, name: :can_be_date},
|
||||||
{key: :time_unit, name: :included_in}
|
{key: :time_unit, name: :included_in},
|
||||||
|
{key: :paydate, name: :is_integer}
|
||||||
|
])
|
||||||
|
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'does paydate validation min' do
|
||||||
|
expect {InsertRecurringDonation.with_stripe(amount: 1, nonprofit_id: 1, supporter_id: 1, token: fake_uuid,
|
||||||
|
recurring_donation: {paydate: "0"})}.to raise_error {|e|
|
||||||
|
expect(e).to be_a ParamValidation::ValidationError
|
||||||
|
expect_validation_errors(e.data, [
|
||||||
|
{key: :paydate, name: :min}
|
||||||
|
])
|
||||||
|
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'does paydate validation max' do
|
||||||
|
expect {InsertRecurringDonation.with_stripe(amount: 1, nonprofit_id: 1, supporter_id: 1, token: fake_uuid,
|
||||||
|
recurring_donation: {paydate: "29"})}.to raise_error {|e|
|
||||||
|
expect(e).to be_a ParamValidation::ValidationError
|
||||||
|
expect_validation_errors(e.data, [
|
||||||
|
{key: :paydate, name: :max}
|
||||||
])
|
])
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,6 +12,9 @@ RSpec.shared_context :shared_rd_donation_value_context do
|
||||||
let(:charge_amount) {100}
|
let(:charge_amount) {100}
|
||||||
|
|
||||||
let(:default_edit_token) {'7903e34c-10fe-11e8-9ead-d302c690bee4'}
|
let(:default_edit_token) {'7903e34c-10fe-11e8-9ead-d302c690bee4'}
|
||||||
|
before(:each){
|
||||||
|
Event.any_instance.stub(:geocode).and_return([1,1])
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
def generate_expected(donation_id, payment_id, charge_id, card, supporter, nonprofit, stripe_charge_id, data = {})
|
def generate_expected(donation_id, payment_id, charge_id, card, supporter, nonprofit, stripe_charge_id, data = {})
|
||||||
|
|
Loading…
Reference in a new issue