mirror of
https://github.com/OCA/bank-payment.git
synced 2025-02-02 10:37:31 +02:00
[IMP] account_payment_sale: Add tests to increase coverage
This commit is contained in:
committed by
Atchuthan Ubendran
parent
42d380af16
commit
2a8c6c5a69
@@ -1,2 +1,3 @@
|
||||
from . import models
|
||||
from . import wizard
|
||||
from . import tests
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
{
|
||||
'name': 'Account Payment Sale',
|
||||
'version': '11.0.1.0.0',
|
||||
'version': '11.0.1.0.1',
|
||||
'category': 'Banking addons',
|
||||
'license': 'AGPL-3',
|
||||
'summary': "Adds payment mode on sale orders",
|
||||
|
||||
2
account_payment_sale/tests/__init__.py
Normal file
2
account_payment_sale/tests/__init__.py
Normal file
@@ -0,0 +1,2 @@
|
||||
from . import common
|
||||
from . import test_sale_order
|
||||
42
account_payment_sale/tests/common.py
Normal file
42
account_payment_sale/tests/common.py
Normal file
@@ -0,0 +1,42 @@
|
||||
# Copyright 2018 Camptocamp
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||
|
||||
from odoo.tests.common import SavepointCase
|
||||
|
||||
|
||||
class CommonTestCase(SavepointCase):
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
|
||||
cls.bank = cls.env["res.partner.bank"].create({
|
||||
'acc_number': 'test',
|
||||
})
|
||||
cls.journal = cls.env["account.journal"].create({
|
||||
'name': 'test journal',
|
||||
'code': '123',
|
||||
'type': 'bank',
|
||||
'company_id': cls.env.ref("base.main_company").id,
|
||||
'bank_account_id': cls.bank.id,
|
||||
})
|
||||
cls.payment_mode = cls.env["account.payment.mode"].create({
|
||||
'name': 'test_mode',
|
||||
'active': True,
|
||||
'payment_method_id': cls.env.ref(
|
||||
"account.account_payment_method_manual_in"
|
||||
).id,
|
||||
'bank_account_link': 'fixed',
|
||||
'fixed_journal_id': cls.journal.id,
|
||||
})
|
||||
cls.base_partner = cls.env["res.partner"].create({
|
||||
'name': 'Dummy',
|
||||
'email': 'dummy@example.com',
|
||||
'customer_payment_mode_id': cls.payment_mode.id,
|
||||
})
|
||||
cls.products = {
|
||||
'prod_order': cls.env.ref('product.product_order_01'),
|
||||
'prod_del': cls.env.ref('product.product_delivery_01'),
|
||||
'serv_order': cls.env.ref('product.service_order_01'),
|
||||
'serv_del': cls.env.ref('product.service_delivery'),
|
||||
}
|
||||
61
account_payment_sale/tests/test_sale_order.py
Normal file
61
account_payment_sale/tests/test_sale_order.py
Normal file
@@ -0,0 +1,61 @@
|
||||
# Copyright 2018 Camptocamp SA
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||
|
||||
from .common import CommonTestCase
|
||||
|
||||
|
||||
class TestSaleOrder(CommonTestCase):
|
||||
|
||||
def create_sale_order(self):
|
||||
so_lines = [(0, 0, {
|
||||
'name': p.name,
|
||||
'product_id': p.id,
|
||||
'product_uom_qty': 2,
|
||||
'product_uom': p.uom_id.id,
|
||||
'price_unit': p.list_price,
|
||||
}) for (_, p) in self.products.items()]
|
||||
so = self.env['sale.order'].create({
|
||||
'partner_id': self.base_partner.id,
|
||||
'partner_invoice_id': self.base_partner.id,
|
||||
'partner_shipping_id': self.base_partner.id,
|
||||
'order_line': so_lines,
|
||||
'pricelist_id': self.env.ref('product.list0').id,
|
||||
})
|
||||
self.assertFalse(so.payment_mode_id)
|
||||
so.onchange_partner_id()
|
||||
self.assertEqual(
|
||||
so.payment_mode_id,
|
||||
self.base_partner.customer_payment_mode_id
|
||||
)
|
||||
return so
|
||||
|
||||
def test_sale_to_invoice_payment_mode(self):
|
||||
order = self.create_sale_order()
|
||||
context = {
|
||||
"active_model": 'sale.order',
|
||||
"active_ids": [order.id],
|
||||
"active_id": order.id,
|
||||
}
|
||||
order.with_context(context).action_confirm()
|
||||
payment = self.env['sale.advance.payment.inv'].create({
|
||||
'advance_payment_method': 'fixed',
|
||||
'amount': 5,
|
||||
'product_id': self.env.ref('sale.advance_product_0').id,
|
||||
})
|
||||
vals = order._get_payment_mode_vals({})
|
||||
expected_vals = {
|
||||
'payment_mode_id': self.payment_mode.id,
|
||||
'partner_bank_id': self.bank.id,
|
||||
}
|
||||
self.assertEqual(vals, expected_vals)
|
||||
payment.with_context(context).create_invoices()
|
||||
invoice = order.invoice_ids
|
||||
self.assertEqual(len(invoice), 1)
|
||||
self.assertEqual(
|
||||
invoice.payment_mode_id.id,
|
||||
expected_vals["payment_mode_id"]
|
||||
)
|
||||
self.assertEqual(
|
||||
invoice.partner_bank_id.id,
|
||||
expected_vals["partner_bank_id"]
|
||||
)
|
||||
Reference in New Issue
Block a user