From 390ea716f5486970ffcbafa1faccd9567833f2c9 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#76271

Task: 2588145 & 2583718
X-original-commit: ea1869d08693e17477b919732fb261efeb545837
Signed-off-by: Florian Daloze (fda) <fda@odoo.com>
---
 .../static/src/js/snailmail_external_layout.js        | 11 ++++++-----
 .../src/scss/snailmail_external_layout_asset.scss     |  7 +++++--
 addons/snailmail_account/tests/test_pingen_send.py    |  4 ++--
 3 files changed, 13 insertions(+), 9 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..9e0acac096a8 100644
--- a/addons/snailmail/static/src/js/snailmail_external_layout.js
+++ b/addons/snailmail/static/src/js/snailmail_external_layout.js
@@ -1,7 +1,8 @@
 // Change address font-size if needed
 document.addEventListener('DOMContentLoaded', function (evt) {
-    var recipientAddress = document.getElementsByClassName('address row')[0].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';
-});
+    var recipientAddress = document.querySelector(".address.row > div[name='address'] > div")
+    var style = window.getComputedStyle(recipientAddress, null); 
+    var height = parseFloat(style.getPropertyValue('height'));
+    var fontSize = parseFloat(style.getPropertyValue('font-size'));
+    recipientAddress.style.fontSize = (85 / (height / fontSize)) + 'px';   
+});
\ No newline at end of file
diff --git a/addons/snailmail/static/src/scss/snailmail_external_layout_asset.scss b/addons/snailmail/static/src/scss/snailmail_external_layout_asset.scss
index ae60f3d44582..a5c259fa7118 100644
--- a/addons/snailmail/static/src/scss/snailmail_external_layout_asset.scss
+++ b/addons/snailmail/static/src/scss/snailmail_external_layout_asset.scss
@@ -22,10 +22,13 @@
         width: 50%;
     }
 }
-.article > .address.row > div[name="address"] {
+.pt-5 {
+    padding-top: 48px !important;
+}
+.article > div > .address.row > div[name="address"] {
     height: 65mm;
     background-color: #ffffff;
-    padding-top: 23mm;
+    padding-top: 11mm;
     padding-left: 5mm;
     padding-bottom: 5mm;
     left: -20px !important;
diff --git a/addons/snailmail_account/tests/test_pingen_send.py b/addons/snailmail_account/tests/test_pingen_send.py
index 12076e56974d..a8d6da420ae8 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(HttpCase):
         }
 
         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