def test_income_validation(self, original_income, original_currency, income_threshold, auto_approved):
"""
Tests FinancialAidRequestView post endpoint
"""
CountryIncomeThreshold.objects.filter(country_code=self.profile.country).update(
income_threshold=income_threshold
)
data = {
"original_income": original_income,
"original_currency": original_currency,
"program_id": self.program.id,
}
assert FinancialAid.objects.exclude(status=FinancialAidStatus.RESET).count() == 0
assert FinancialAidAudit.objects.count() == 0
self.make_http_request(self.client.post, self.request_url, status.HTTP_201_CREATED, data=data)
assert FinancialAid.objects.exclude(status=FinancialAidStatus.RESET).count() == 1
assert FinancialAidAudit.objects.count() == 1
financial_aid = FinancialAid.objects.exclude(status=FinancialAidStatus.RESET).first()
income_usd = determine_income_usd(original_income, original_currency)
assert financial_aid.tier_program == determine_tier_program(self.program, income_usd)
if not auto_approved:
assert financial_aid.status == FinancialAidStatus.PENDING_DOCS
else:
assert financial_aid.status == FinancialAidStatus.AUTO_APPROVED
self.assertAlmostEqual(financial_aid.income_usd, income_usd)
assert financial_aid.user == self.profile.user
self.assertAlmostEqual(financial_aid.original_income, original_income)
assert financial_aid.original_currency == original_currency
assert financial_aid.country_of_income == self.profile.country
assert financial_aid.country_of_residence == self.profile.country
assert is_near_now(financial_aid.date_exchange_rate)
评论列表
文章目录