You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

70 lines
2.9 KiB

  1. # -*- coding: utf-8 -*-
  2. ##############################################################################
  3. #
  4. # This file is part of account_bank_statement_import,
  5. # an Odoo module.
  6. #
  7. # Copyright (c) 2015 ACSONE SA/NV (<http://acsone.eu>)
  8. #
  9. # account_bank_statement_import is free software:
  10. # you can redistribute it and/or modify it under the terms of the GNU
  11. # Affero General Public License as published by the Free Software
  12. # Foundation,either version 3 of the License, or (at your option) any
  13. # later version.
  14. #
  15. # account_bank_statement_import is distributed
  16. # in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
  17. # even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
  18. # PURPOSE. See the GNU Affero General Public License for more details.
  19. #
  20. # You should have received a copy of the GNU Affero General Public License
  21. # along with account_bank_statement_import_coda.
  22. # If not, see <http://www.gnu.org/licenses/>.
  23. #
  24. ##############################################################################
  25. from openerp.tests.common import TransactionCase
  26. class TestResPartnerBank(TransactionCase):
  27. """Tests acc_number
  28. """
  29. def test_sanitized_acc_number(self):
  30. partner_bank_model = self.env['res.partner.bank']
  31. acc_number = " BE-001 2518823 03 "
  32. vals = partner_bank_model.search([('acc_number', '=', acc_number)])
  33. self.assertEquals(0, len(vals))
  34. partner_bank = partner_bank_model.create({
  35. 'acc_number': acc_number,
  36. 'partner_id': self.ref('base.res_partner_2'),
  37. 'state': 'bank',
  38. })
  39. vals = partner_bank_model.search([('acc_number', '=', acc_number)])
  40. self.assertEquals(1, len(vals))
  41. self.assertEquals(partner_bank, vals[0])
  42. vals = partner_bank_model.search([('acc_number', 'in', [acc_number])])
  43. self.assertEquals(1, len(vals))
  44. self.assertEquals(partner_bank, vals[0])
  45. self.assertEqual(partner_bank.acc_number, acc_number)
  46. # sanitaze the acc_number
  47. sanitized_acc_number = 'BE001251882303'
  48. vals = partner_bank_model.search(
  49. [('acc_number', '=', sanitized_acc_number)])
  50. self.assertEquals(1, len(vals))
  51. self.assertEquals(partner_bank, vals[0])
  52. vals = partner_bank_model.search(
  53. [('acc_number', 'in', [sanitized_acc_number])])
  54. self.assertEquals(1, len(vals))
  55. self.assertEquals(partner_bank, vals[0])
  56. self.assertEqual(partner_bank.sanitized_acc_number,
  57. sanitized_acc_number)
  58. # search is case insensitive
  59. vals = partner_bank_model.search(
  60. [('acc_number', '=', sanitized_acc_number.lower())])
  61. self.assertEquals(1, len(vals))
  62. vals = partner_bank_model.search(
  63. [('acc_number', '=', acc_number.lower())])
  64. self.assertEquals(1, len(vals))