mirror of
https://gitlab.com/hibou-io/hibou-odoo/suite.git
synced 2025-01-20 12:37:31 +02:00
39 lines
1.5 KiB
Python
39 lines
1.5 KiB
Python
from odoo.tests import Form
|
|
from odoo.addons.account.tests.common import AccountTestInvoicingCommon
|
|
from odoo.tests import tagged
|
|
|
|
|
|
@tagged('post_install', '-at_install')
|
|
class TestAccountMoveException(AccountTestInvoicingCommon):
|
|
|
|
def test_10_validation_on_post(self):
|
|
self.env.user.groups_id += self.env.ref('analytic.group_analytic_accounting')
|
|
exception = self.env.ref('account_exception.except_no_phone').sudo()
|
|
exception.active = True
|
|
invoice = self.init_invoice('out_invoice', products=self.product_a)
|
|
|
|
# must be exceptions when no phone and posting
|
|
invoice.partner_id.phone = False
|
|
action = invoice.action_post()
|
|
self.assertTrue(invoice.exception_ids)
|
|
self.assertEqual(invoice.state, 'draft')
|
|
|
|
wizard_model = action.get('res_model', '')
|
|
self.assertEqual(wizard_model, 'account.move.exception.confirm')
|
|
wizard = Form(self.env[wizard_model].with_context(action['context'])).save()
|
|
self.assertFalse(wizard.show_ignore_button)
|
|
|
|
# no exceptions when ignoring exceptions and posting
|
|
invoice.ignore_exception = True
|
|
invoice.action_post()
|
|
self.assertFalse(invoice.exception_ids)
|
|
self.assertEqual(invoice.state, 'posted')
|
|
|
|
# no exceptions when phone and posting
|
|
invoice.button_draft()
|
|
invoice.ignore_exception = False
|
|
invoice.partner_id.phone = '123'
|
|
invoice.action_post()
|
|
self.assertFalse(invoice.exception_ids)
|
|
self.assertEqual(invoice.state, 'posted')
|