Ejemplo n.º 1
0
 def test_should_apply_sum_of_all_not_calculated_fees(self):
     self.setup_uncalculated_fees({
         DateCreator.create_date(2001, 5, 20):
         200.0,
         DateCreator.create_date(2001, 6, 22):
         150.0,
     })
     self.user_account.recalculate_balance()
     self.verify_applied_sum(350.0 * self.UNIT_RATE)
Ejemplo n.º 2
0
 def test_should_apply_sum_for_tariff_with_highest_rate(self):
     self.user_account.services = [self.multi_tariff_service_stub]
     self.setup_uncalculated_fees({
         DateCreator.create_date(2001, 5, 20):
         200.0,
         DateCreator.create_date(2001, 6, 22):
         150.0,
     })
     self.user_account.recalculate_balance()
     self.verify_applied_sum(350.0)
Ejemplo n.º 3
0
 def test_should_apply_sum_for_tariff_with_additional_fee_for_each_uncalculated_fee(
         self):
     self.setup_tariffs([NoRateTariffStub(10.0), NoRateTariffStub()])
     self.setup_uncalculated_fees({
         DateCreator.create_date(2001, 5, 20):
         200.0,
         DateCreator.create_date(2001, 6, 22):
         150.0,
     })
     self.user_account.recalculate_balance()
     self.verify_applied_sum(350.0 + 10.0 + 10.0)
Ejemplo n.º 4
0
 def test_should_apply_sum_for_tariff_with_highest_rate_when_its_higher_then_other_tariff(
         self):
     self.setup_tariffs([NoRateTariffStub(), UnitBasedTariffStub(10.0)])
     self.setup_uncalculated_fees({
         DateCreator.create_date(2001, 5, 20):
         200.0,
     })
     self.user_account.recalculate_balance()
     self.verify_applied_sum(200.0)
Ejemplo n.º 5
0
    def test_should_apply_sum_of_all_not_calculated_fees_for_all_services(
            self):
        # given
        self.user_account.services = [ServiceStub(), SecondServiceStub()]
        calc_history_service = CalculationHistoryForMultiServiceStub(
            {
                DateCreator.create_date(2001, 5, 20): 200.0,
            }, {
                DateCreator.create_date(2001, 7, 25): 120.0,
                DateCreator.create_date(2001, 6, 25): 180.0,
            })
        self.user_account.calc_history_service = calc_history_service

        # when
        self.user_account.recalculate_balance()

        # then
        calc_history_service.verify_applied_sum_for_service(
            200.0 * self.UNIT_RATE, ServiceStub.__name__)
        calc_history_service.verify_applied_sum_for_service(
            (120.0 + 180.0) * self.UNIT_RATE, SecondServiceStub.__name__)
        self.balance_spy.verify_updated_sum(
            (200.0 + 120.0 + 180.0) * self.UNIT_RATE)
Ejemplo n.º 6
0
 def get_calculated_fees(self):
     return {
         DateCreator.create_date(2001, 4, 28): 100.0,
         DateCreator.create_date(2001, 5, 18): 150.0
     }
Ejemplo n.º 7
0
 def setup_payment_date(self):
     self.user_account.payment_dates = {
         DateCreator.create_date(2001, 3, 22),
         DateCreator.create_date(2001, 2, 23),
         DateCreator.create_date(2001, 5, 19),
     }