示例#1
0
    def test_attachment_invalid(self):
        """If Total actual amount > 100,000 need attachment with
        type Final Partnership Review
        """
        frs = FundsReservationHeaderFactory(
            intervention=self.intervention,
            total_amt=0.00,
            total_amt_local=120000.00,
            actual_amt_local=120000.00,
            actual_amt=120000.00,
            outstanding_amt_local=0.00,
            outstanding_amt=0.00,
            intervention_amt=0.00,
        )

        with self.assertRaisesRegexp(
                TransitionError,
                'Total amount transferred greater than 100,000 and no '
                'Final Partnership Review was attached'
        ):
            transition_to_closed(self.intervention)
        self.expected["total_actual_amt"] = 120000.00
        self.expected["total_actual_amt_usd"] = 120000.00
        self.expected["total_frs_amt"] = 120000.00
        self.expected["earliest_start_date"] = frs.start_date
        self.expected["latest_end_date"] = frs.end_date
        self.assertFundamentals(self.intervention.total_frs)
示例#2
0
 def test_end_after_today(self):
     """End date cannot be after today's date'"""
     intervention = InterventionFactory(
         end=datetime.date.today() + datetime.timedelta(days=2)
     )
     with self.assertRaisesRegexp(
             TransitionError,
             "End date is in the future"
     ):
         transition_to_closed(intervention)
     self.assertFundamentals(intervention.total_frs)
示例#3
0
 def test_attachment(self):
     """If Total actual amount > 100,000 need attachment with
     type Final Partnership Review
     """
     file_type = self.file_parnership_file_type
     InterventionAttachmentFactory(
         intervention=self.intervention,
         type=file_type
     )
     frs = FundsReservationHeaderFactory(
         intervention=self.intervention,
         total_amt=0.00,
         total_amt_local=120000.00,
         actual_amt_local=120000.00,
         actual_amt=0,
         outstanding_amt_local=0.00,
         outstanding_amt=0.00,
         intervention_amt=0.00,
     )
     self.assertTrue(transition_to_closed(self.intervention))
     self.expected["total_actual_amt"] = 120000.00
     self.expected["total_frs_amt"] = 120000.00
     self.expected["earliest_start_date"] = frs.start_date
     self.expected["latest_end_date"] = frs.end_date
     self.assertFundamentals(self.intervention.total_frs)
示例#4
0
 def test_total_amounts_not_equal(self):
     """Total amounts must equal and total outstanding must be zero"""
     frs = FundsReservationHeaderFactory(
         intervention=self.intervention,
         total_amt=0.00,
         total_amt_local=0.00,
         intervention_amt=10.00,
         actual_amt_local=20.00,
         actual_amt=0.00,
         outstanding_amt_local=0.00,
         outstanding_amt=0.00
     )
     with self.assertRaisesRegexp(
             TransitionError,
             'Total FR amount needs to equal total actual amount, and '
             'Total Outstanding DCTs need to equal to 0'
     ):
         transition_to_closed(self.intervention)
     self.expected["total_intervention_amt"] = 10.00
     self.expected["total_actual_amt"] = 20.00
     self.expected["earliest_start_date"] = frs.start_date
     self.expected["latest_end_date"] = frs.end_date
     self.assertFundamentals(self.intervention.total_frs)
示例#5
0
 def test_dates(self):
     """Ensure earliest and latest dates set correctly"""
     FundsReservationHeaderFactory(
         intervention=self.intervention,
         fr_number=1,
         total_amt=0.00,
         total_amt_local=100.00,
         start_date=datetime.date(2001, 1, 1),
         end_date=datetime.date(2001, 2, 1),
         actual_amt=0.00,
         actual_amt_local=100.00,
         intervention_amt=0.00,
         outstanding_amt_local=0.00,
         outstanding_amt=0.00,
     )
     FundsReservationHeaderFactory(
         intervention=self.intervention,
         fr_number=2,
         total_amt=0.00,
         total_amt_local=100.00,
         start_date=datetime.date(2000, 1, 1),
         end_date=datetime.date(2000, 2, 1),
         actual_amt=0.00,
         actual_amt_local=100.00,
         intervention_amt=0.00,
         outstanding_amt_local=0.00,
         outstanding_amt=0.00,
     )
     FundsReservationHeaderFactory(
         intervention=self.intervention,
         fr_number=3,
         total_amt=0.00,
         total_amt_local=100.00,
         start_date=datetime.date(2002, 1, 1),
         end_date=datetime.date(2002, 2, 1),
         actual_amt_local=100.00,
         actual_amt=0.00,
         intervention_amt=0.00,
         outstanding_amt_local=0.00,
         outstanding_amt=0.00,
     )
     self.assertTrue(transition_to_closed(self.intervention))
     self.expected["earliest_start_date"] = datetime.date(2000, 1, 1)
     self.expected["latest_end_date"] = datetime.date(2002, 2, 1)
     self.expected["total_actual_amt"] = 300.00
     self.expected["total_frs_amt"] = 300.00
     self.assertFundamentals(self.intervention.total_frs)
示例#6
0
 def test_total_frs_amount(self):
     """Ensure total_frs_amt set correctly"""
     frs = FundsReservationHeaderFactory(
         intervention=self.intervention,
         total_amt=0.00,
         total_amt_local=100.00,
         actual_amt=0.00,
         actual_amt_local=100.00,
         intervention_amt=0.00,
         outstanding_amt=0.00,
         outstanding_amt_local=0.00,
     )
     self.assertTrue(transition_to_closed(self.intervention))
     self.expected["total_frs_amt"] = 100.00
     self.expected["total_actual_amt"] = 100.00
     self.expected["earliest_start_date"] = frs.start_date
     self.expected["latest_end_date"] = frs.end_date
     self.assertFundamentals(self.intervention.total_frs)
示例#7
0
 def test_total_amounts_valid(self):
     """Total amounts must equal and total outstanding must be zero"""
     frs = FundsReservationHeaderFactory(
         intervention=self.intervention,
         total_amt=0.00,
         total_amt_local=10.00,
         intervention_amt=0.00,
         actual_amt=0.00,
         actual_amt_local=10.00,
         outstanding_amt=0.00,
         outstanding_amt_local=0.00
     )
     self.assertTrue(transition_to_closed(self.intervention))
     self.expected["total_frs_amt"] = 10.00
     self.expected["total_actual_amt"] = 10.00
     self.expected["earliest_start_date"] = frs.start_date
     self.expected["latest_end_date"] = frs.end_date
     self.assertFundamentals(self.intervention.total_frs)