mirror of
https://gitlab.com/hibou-io/hibou-odoo/suite.git
synced 2025-01-20 12:37:31 +02:00
55 lines
2.4 KiB
Python
55 lines
2.4 KiB
Python
from odoo.tests import tagged, TransactionCase
|
|
|
|
|
|
@tagged('post_install', '-at_install')
|
|
class TestWebsiteSalePaymentTerms(TransactionCase):
|
|
def setUp(self):
|
|
super(TestWebsiteSalePaymentTerms, self).setUp()
|
|
self.so = self.env['sale.order'].create({
|
|
'partner_id': self.ref('base.res_partner_12'),
|
|
'order_line': [(0, 0, {
|
|
'product_id': self.env['product.product'].create({'name': 'Product A', 'list_price': 100}).id,
|
|
'product_uom_qty': 1,
|
|
'name': 'Product A',
|
|
'tax_id': False,
|
|
})]
|
|
})
|
|
|
|
def test_00_immediate(self):
|
|
# Double-check that we're asking for money if no payment terms are set
|
|
self.assertEqual(self.so.amount_due_today, self.so.amount_total)
|
|
|
|
immediate_terms = self.browse_ref('account.account_payment_term_immediate')
|
|
self.so._check_payment_term_quotation(immediate_terms.id)
|
|
self.assertEqual(self.so.amount_due_today, self.so.amount_total)
|
|
|
|
def test_10_thirty_percent(self):
|
|
thirty_percent_terms = self.browse_ref('account.account_payment_term_advance_60days')
|
|
self.so._check_payment_term_quotation(thirty_percent_terms.id)
|
|
self.assertEqual(self.so.amount_due_today, 30.0)
|
|
|
|
def test_20_fifteen_days(self):
|
|
fifteen_days_terms = self.browse_ref('account.account_payment_term_15days')
|
|
self.so._check_payment_term_quotation(fifteen_days_terms.id)
|
|
self.assertEqual(self.so.amount_due_today, 0.0)
|
|
|
|
def test_30_deposit_requested(self):
|
|
"""
|
|
Ask for deposit if deposit amount is greater
|
|
"""
|
|
thirty_percent_terms = self.browse_ref('account.account_payment_term_advance_60days')
|
|
thirty_percent_terms.deposit_percentage = 40
|
|
thirty_percent_terms.deposit_flat = 5
|
|
self.so._check_payment_term_quotation(thirty_percent_terms.id)
|
|
self.assertEqual(self.so.amount_due_today, 45.0)
|
|
|
|
def test_40_low_deposit(self):
|
|
"""
|
|
Ask for terms amount if greater than requested deposit
|
|
"""
|
|
thirty_percent_terms = self.browse_ref('account.account_payment_term_advance_60days')
|
|
thirty_percent_terms.deposit_percentage = 20
|
|
thirty_percent_terms.deposit_flat = 5
|
|
self.so._check_payment_term_quotation(thirty_percent_terms.id)
|
|
self.assertEqual(self.so.amount_due_today, 30.0)
|