11from odoo import tools
2+ from odoo .exceptions import ValidationError
23from odoo .tests import Form , common , tagged
34
45
@@ -32,15 +33,17 @@ def test_15_liquido_producto_sales_patch(self):
3233
3334 # 60, 61, 27, 28, 45, 46
3435 # In this case manual numbering should be True and the latam document numer should be required
35- with self .assertRaisesRegex (AssertionError , "l10n_latam_document_number is a required field" ):
36- with Form (self .env ["account.move" ].with_context (default_move_type = "out_invoice" )) as invoice_form :
37- invoice_form .ref = "demo_liquido_producto_1: Vendor bill liquido producto (DOC 186)"
38- invoice_form .partner_id = self .res_partner_adhoc
39- invoice_form .invoice_payment_term_id = payment_term_id
40- invoice_form .journal_id = self .journal
41- invoice_form .l10n_latam_document_type_id = doc_27_lu_a
42- invoice = invoice_form .save ()
43- invoice .action_post () # Agregamos esta linea para que se dispare la validacion al momento de validar la factura y no antes
36+ with Form (self .env ["account.move" ].with_context (default_move_type = "out_invoice" )) as invoice_form :
37+ invoice_form .ref = "demo_liquido_producto_1: Vendor bill liquido producto (DOC 186)"
38+ invoice_form .partner_id = self .res_partner_adhoc
39+ invoice_form .invoice_payment_term_id = payment_term_id
40+ invoice_form .journal_id = self .journal
41+ invoice_form .l10n_latam_document_type_id = doc_27_lu_a
42+ invoice = invoice_form .save ()
43+
44+ # Should fail when posting without document number
45+ with self .assertRaisesRegex (ValidationError , "Please set the document number" ):
46+ invoice .action_post ()
4447
4548 # Adding the document number will let us to save and validate the number without any problems
4649 with Form (self .env ["account.move" ].with_context (default_move_type = "out_invoice" )) as invoice_form :
@@ -69,17 +72,23 @@ def test_16_liquido_producto_purchase_patch(self):
6972 doc_60_lp_a = self .env .ref ("l10n_ar.dc_a_cvl" )
7073 payment_term_id = self .env .ref ("account.account_payment_term_end_following_month" )
7174
72- with self .assertRaisesRegex (AssertionError , "l10n_latam_document_number is a required field" ):
73- with Form (self .env ["account.move" ].with_context (default_move_type = "in_invoice" )) as bill_form :
74- bill_form .ref = "demo_liquido_producto_1: Vendor bill liquido producto (DOC 186)"
75- bill_form .partner_id = self .res_partner_adhoc
76- bill_form .invoice_payment_term_id = payment_term_id
77- bill_form .invoice_date = "2023-02-09"
78- bill_form .l10n_latam_document_type_id = doc_60_lp_a
79- bill = bill_form .save ()
80- bill .action_post () # Agregamos esta linea para que se dispare la validacion al momento de validar la factura y no antes
75+ with Form (self .env ["account.move" ].with_context (default_move_type = "in_invoice" )) as bill_form :
76+ bill_form .ref = "demo_liquido_producto_1: Vendor bill liquido producto (DOC 186)"
77+ bill_form .partner_id = self .res_partner_adhoc
78+ bill_form .invoice_payment_term_id = payment_term_id
79+ bill_form .invoice_date = "2023-02-09"
80+ bill_form .l10n_latam_document_type_id = doc_60_lp_a
81+ with bill_form .invoice_line_ids .new () as line_form :
82+ line_form .product_id = self .env .ref ("product.product_product_4" )
83+ line_form .quantity = 1
84+ line_form .price_unit = 100
85+ bill = bill_form .save ()
86+
87+ self .assertEqual (bill .journal_id , purchase_not_pos_journal )
8188
82- self .assertEqual (bill .journal_id , purchase_not_pos_journal )
89+ # Should fail when posting without document number
90+ with self .assertRaisesRegex (ValidationError , "Please set the document number" ):
91+ bill .action_post ()
8392
8493 # Create a new journal that is an ARCA POS
8594 purchase_pos_journal = self ._create_journal ("preprinted" , data = {"type" : "purchase" , "l10n_ar_is_pos" : True })
@@ -92,6 +101,10 @@ def test_16_liquido_producto_purchase_patch(self):
92101 bill_form .journal_id = purchase_pos_journal
93102 bill_form .l10n_latam_document_type_id = doc_60_lp_a
94103 bill_form .l10n_latam_document_number = "00077-00000077"
104+ with bill_form .invoice_line_ids .new () as line_form :
105+ line_form .product_id = self .env .ref ("product.product_product_4" )
106+ line_form .quantity = 1
107+ line_form .price_unit = 100
95108 bill = bill_form .save ()
96109 bill .action_post ()
97110
0 commit comments