from payment.models import UserBalanceHistory


class PlanTestHelper:
    getUserPlanURL = "/plan/user/get"
    listAbstractUserPlanURL = "/plan/user/abstract/list"
    purchaseAbstractUserPlanURL = "/plan/user/abstract/purchase"

    def __init__(self, tester):
        self.tester = tester

    def purchase_abstract_user_plan_helper(self, abstract_user_plan_id):
        UserBalanceHistory.objects.order_by('created_at').update(remaining_balance=60000)
        (response_data, status_code, error_message) = self.tester.post_with_token(self.purchaseAbstractUserPlanURL,
                                                                                  {'abstract_user_plan_id': abstract_user_plan_id})
        self.tester.assertEqual(response_data['message'], 'Successful', error_message)
        self.tester.assertEqual(50000, UserBalanceHistory.objects.order_by('created_at').last().remaining_balance, error_message)
