From ea1869d08693e17477b919732fb261efeb545837 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fran=C3=A7ois=20=28FRC=29?= <frc@odoo.com>
Date: Thu, 9 Sep 2021 12:47:36 +0000
Subject: [PATCH] [FIX] snailmail: better tests & delivery address now visible
 on report

Tests now check for the 'error' field in Pingen repsonse
snailmail_external_layout.js now targets the right div

closes odoo/odoo#76246

Task: 2588145 & 2583718
Signed-off-by: Florian Daloze (fda) <fda@odoo.com>
---
 addons/snailmail/static/src/js/snailmail_external_layout.js | 2 +-
 addons/snailmail_account/tests/test_pingen_send.py          | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/addons/snailmail/static/src/js/snailmail_external_layout.js b/addons/snailmail/static/src/js/snailmail_external_layout.js
index be691d26ba04..055c7e292e3d 100644
--- a/addons/snailmail/static/src/js/snailmail_external_layout.js
+++ b/addons/snailmail/static/src/js/snailmail_external_layout.js
@@ -1,6 +1,6 @@
 // Change address font-size if needed
 document.addEventListener('DOMContentLoaded', function (evt) {
-    var recipientAddress = document.getElementsByClassName('address row')[0].getElementsByTagName('address')[0];
+    var recipientAddress = document.querySelector('.address.row div[name="address"]').getElementsByTagName('address')[0];
     var height = parseFloat(window.getComputedStyle(recipientAddress, null).getPropertyValue('height'));
     var fontSize = parseFloat(window.getComputedStyle(recipientAddress, null).getPropertyValue('font-size'));
     recipientAddress.style.fontSize = (85/height) * fontSize + 'px';
diff --git a/addons/snailmail_account/tests/test_pingen_send.py b/addons/snailmail_account/tests/test_pingen_send.py
index ea4cd973487b..adc23e157a1d 100644
--- a/addons/snailmail_account/tests/test_pingen_send.py
+++ b/addons/snailmail_account/tests/test_pingen_send.py
@@ -62,14 +62,14 @@ class TestPingenSend(AccountingTestCase):
         }
 
         response = requests.post(self.pingen_url, data=self.data, files=files)
-        if 400 <= response.status_code <= 599:
+        if 400 <= response.status_code <= 599 or response.json()['error']:
             msg = "%(code)s %(side)s Error: %(reason)s for url: %(url)s\n%(body)s" % {
                 'code': response.status_code,
                 'side': r"%s",
                 'reason': response.reason,
                 'url': self.pingen_url,
                 'body': response.text}
-            if response.status_code <= 499:
+            if response.status_code <= 499 or response.json()['error']:
                 raise requests.HTTPError(msg % "Client")
             else:
                 _logger.warning(msg % "Server")
-- 
GitLab