summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--addons/account_edi/models/account_move.py2
-rw-r--r--addons/account_edi/tests/common.py2
-rw-r--r--addons/account_edi/tests/test_edi.py12
3 files changed, 12 insertions, 4 deletions
diff --git a/addons/account_edi/models/account_move.py b/addons/account_edi/models/account_move.py
index a8cbe445e53..b69cf611e5b 100644
--- a/addons/account_edi/models/account_move.py
+++ b/addons/account_edi/models/account_move.py
@@ -236,8 +236,6 @@ class AccountMove(models.Model):
docs = self.edi_document_ids.filtered(lambda d: d.state in ('to_send', 'to_cancel'))
if 'blocking_level' in self.env['account.edi.document']._fields:
docs = docs.filtered(lambda d: d.blocking_level != 'error')
- else:
- docs = docs.filtered(lambda d: not d.error)
docs._process_documents_web_services(with_commit=False)
class AccountMoveLine(models.Model):
diff --git a/addons/account_edi/tests/common.py b/addons/account_edi/tests/common.py
index b3151b95570..28eb26d3def 100644
--- a/addons/account_edi/tests/common.py
+++ b/addons/account_edi/tests/common.py
@@ -90,7 +90,7 @@ class AccountEdiTestCommon(AccountTestInvoicingCommon):
:param move: The move of the document or None to create a new one.
:param move_type: If move is None, the type of the invoice to create, defaults to 'out_invoice'.
"""
- move = move or self.init_invoice(move_type or 'out_invoice')
+ move = move or self.init_invoice(move_type or 'out_invoice', products=self.product_a)
return self.env['account.edi.document'].create({
'edi_format_id': edi_format.id,
'move_id': move.id,
diff --git a/addons/account_edi/tests/test_edi.py b/addons/account_edi/tests/test_edi.py
index 02bde5f8d12..85baee809b4 100644
--- a/addons/account_edi/tests/test_edi.py
+++ b/addons/account_edi/tests/test_edi.py
@@ -8,7 +8,7 @@ from unittest.mock import patch
class TestAccountEdi(AccountEdiTestCommon):
def test_export_edi(self):
- invoice = self.init_invoice('out_invoice')
+ invoice = self.init_invoice('out_invoice', products=self.product_a)
self.assertEqual(len(invoice.edi_document_ids), 0)
invoice.action_post()
self.assertEqual(len(invoice.edi_document_ids), 1)
@@ -37,3 +37,13 @@ class TestAccountEdi(AccountEdiTestCommon):
with patch('odoo.addons.account_edi.models.account_edi_format.AccountEdiFormat._support_batching', return_value=True):
to_process = edi_docs._prepare_jobs()
self.assertEqual(len(to_process), 2)
+
+ @patch('odoo.addons.account_edi.models.account_edi_format.AccountEdiFormat._post_invoice_edi')
+ def test_error(self, patched):
+ with patch('odoo.addons.account_edi.models.account_edi_format.AccountEdiFormat._needs_web_services',
+ new=lambda edi_format: True):
+ edi_docs = self.create_edi_document(self.edi_format, 'to_send')
+ edi_docs.error = 'Test Error'
+
+ edi_docs.move_id.action_process_edi_web_services()
+ patched.assert_called_once()