def test_sum(self):
        deposit_transaction = DepositTransaction()
        deposit_transaction.agent_from = self.client
        deposit_transaction.agent_to = self.service
        deposit_transaction.amount = 1000
        deposit_transaction.batch_id = 'custom_batch_id'
        self.storage.save_transaction(deposit_transaction)

        deposit_transaction = DepositTransaction()
        deposit_transaction.agent_from = self.client
        deposit_transaction.agent_to = self.service
        deposit_transaction.amount = 200
        deposit_transaction.batch_id = 'custom_batch_id'
        self.storage.save_transaction(deposit_transaction)

        sum_amount = self.storage.sum(self.storage.filter(self.storage.get_transactions_from(self.client), TRANSACTION_DEPOSIT))
        self.assertEqual(1200, sum_amount)
    def test_save_transaction_to_db(self):

        deposit_transaction = DepositTransaction()
        deposit_transaction.agent_from = self.client
        deposit_transaction.agent_to = self.service
        deposit_transaction.amount = 200
        deposit_transaction.batch_id = 'custom_batch_id'

        self.storage.save_transaction(deposit_transaction)

        db_transaction = Transaction.objects.get(agent_from_id=self.client.pk, agent_from_content_type=ContentType.objects.get_for_model(self.client))

        self.assertEqual(db_transaction.agent_from, self.client)
        self.assertEqual(db_transaction.agent_to, self.service)
        self.assertEqual(1, len(self.storage.get_transactions_from(self.client)))
        self.assertEqual(1, len(self.storage.get_transactions_to(self.service)))