コード例 #1
0
    def test_buy(self):
        self.assertEqual(PostponedTaskPrototype._model_class.objects.all().count(), 0)
        self.assertEqual(InvoicePrototype._model_class.objects.all().count(), 0)

        with mock.patch('the_tale.common.postponed_tasks.prototypes.PostponedTaskPrototype.cmd_wait') as cmd_wait:
            self.purchase.buy(account=self.account)

        self.assertEqual(cmd_wait.call_count, 1)

        self.assertEqual(PostponedTaskPrototype._model_class.objects.all().count(), 1)
        self.assertEqual(InvoicePrototype._model_class.objects.all().count(), 1)

        postponed_logic = PostponedTaskPrototype._db_get_object(0).internal_logic

        self.assertTrue(isinstance(postponed_logic, BuyPremium))
        self.assertEqual(postponed_logic.account_id, self.account.id)
        self.assertEqual(postponed_logic.days, self.days)

        invoice = InvoicePrototype.get_by_id(postponed_logic.transaction.invoice_id)

        self.assertEqual(invoice.recipient_type, ENTITY_TYPE.GAME_ACCOUNT)
        self.assertEqual(invoice.recipient_id, self.account.id)
        self.assertEqual(invoice.sender_type, ENTITY_TYPE.GAME_LOGIC)
        self.assertEqual(invoice.sender_id, 0)
        self.assertEqual(invoice.currency, CURRENCY_TYPE.PREMIUM)
        self.assertEqual(invoice.amount, -self.cost)
        self.assertEqual(invoice.description_for_sender, 'premium-days-transaction-description')
        self.assertEqual(invoice.description_for_recipient, 'premium-days-transaction-description')
コード例 #2
0
ファイル: transaction.py プロジェクト: serhii73/the-tale
 def get_invoice_state(self):
     return InvoicePrototype.get_by_id(self.invoice_id).state
コード例 #3
0
ファイル: bank_processor.py プロジェクト: pavetok/the-tale
 def process_cancel_invoice(self, invoice_id):
     InvoicePrototype.get_by_id(invoice_id).cancel()
コード例 #4
0
ファイル: transaction.py プロジェクト: Alkalit/the-tale
 def get_invoice_state(self):
     return InvoicePrototype.get_by_id(self.invoice_id).state
コード例 #5
0
ファイル: bank_processor.py プロジェクト: pavetok/the-tale
 def process_confirm_invoice(self, invoice_id):
     InvoicePrototype.get_by_id(invoice_id).confirm()
コード例 #6
0
 def process_cancel_invoice(self, invoice_id):
     InvoicePrototype.get_by_id(invoice_id).cancel()
コード例 #7
0
 def process_confirm_invoice(self, invoice_id):
     InvoicePrototype.get_by_id(invoice_id).confirm()
コード例 #8
0
ファイル: bank_processor.py プロジェクト: serhii73/the-tale
    def process_cancel_invoice(self, invoice_id):
        invoice = InvoicePrototype.get_by_id(invoice_id)

        if invoice:
            invoice.cancel()
コード例 #9
0
ファイル: bank_processor.py プロジェクト: serhii73/the-tale
    def process_confirm_invoice(self, invoice_id):
        invoice = InvoicePrototype.get_by_id(invoice_id)

        if invoice:
            invoice.confirm()