[FIX] point_of_sale: incorrect assertAlmostEqual

The third parameter to assertAlmostEqual is a precision (places), not the
assertion message. This goes unnoticed when using two objects which are
strictly equal because assertAlmostEqual shortcuts if the two inputs are equal,
before falling back on approximation.

Since the parameters here are two integers, they're always going to be either
identical or completely different, therefore the issue is only visible if the assertion
fails, hiding the assertion error.

* pass the message by keyword
* replace assertAlmostEqual by assertEqual as the inputs are integers and integers
  can't really be "almost" equal

closes odoo/odoo#40030

X-original-commit: f22e71771f18ecffb06d56ae892c7db1c3984e3c
Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
This commit is contained in:
xmo-odoo
2019-11-08 13:05:17 +00:00
committed by fw-bot
parent 931da033a5
commit 9b4e487a5c
@@ -394,7 +394,7 @@ class TestPoSBasicConfig(TestPoSCommon):
session_move = self.pos_session.move_id
sale_lines = session_move.line_ids.filtered(lambda line: line.account_id == self.sale_account)
self.assertAlmostEqual(len(sale_lines), 2, 'There should be lines for both sales and refund.')
self.assertEqual(len(sale_lines), 2, msg='There should be lines for both sales and refund.')
self.assertAlmostEqual(sum(sale_lines.mapped('balance')), -110.0)
receivable_line_bank = session_move.line_ids.filtered(lambda line: self.bank_pm.name in line.name)