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.

85 lines
3.3 KiB

  1. # Copyright (C) 2015 Forest and Biomass Romania
  2. # Copyright (C) 2020 NextERP Romania
  3. # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
  4. from odoo.tests.common import Form, TransactionCase
  5. class TestPartnerCreateByVAT(TransactionCase):
  6. def setUp(self):
  7. super().setUp()
  8. self.partner_model = self.env["res.partner"]
  9. self.be_country_id = self.env.ref("base.be").id
  10. self.sample_1 = {
  11. "name": "SA ODOO",
  12. "address": "Chaussée De Namur 40 1367 Ramillies",
  13. "country_code": "BE",
  14. }
  15. def test_create_from_vat1(self):
  16. # Create an partner from VAT number field
  17. with Form(self.partner_model) as partner_form:
  18. partner_form.is_company = True
  19. partner_form.vat = "be0477472701"
  20. # Check if the datas fetch correspond with the datas from VIES.
  21. self.assertEqual(partner_form.name, self.sample_1["name"])
  22. self.assertEqual(partner_form.street, self.sample_1["address"])
  23. self.assertEqual(
  24. partner_form.country_id.code, self.sample_1["country_code"]
  25. )
  26. self.assertEqual(partner_form.vat, "BE0477472701")
  27. def test_company_vat_change(self):
  28. # Change partner VAT number field
  29. partner = self.partner_model.create({"name": "SA ODOO", "is_company": True})
  30. with Form(partner) as partner_form:
  31. # Check if the datas fetch correspond with the datas from VIES.
  32. partner_form.vat = "be0477472701"
  33. self.assertEqual(partner_form.name, self.sample_1["name"])
  34. self.assertEqual(partner_form.street, self.sample_1["address"])
  35. self.assertEqual(
  36. partner_form.country_id.code, self.sample_1["country_code"]
  37. )
  38. self.assertEqual(partner_form.vat, "BE0477472701")
  39. def test_empty_vat_change(self):
  40. partner = self.partner_model.create(
  41. {
  42. "name": "2",
  43. "is_company": True,
  44. "country_id": self.be_country_id,
  45. }
  46. )
  47. with Form(partner) as partner_form:
  48. partner_form.vat = False
  49. self.assertEqual(partner_form.name, partner.name)
  50. self.assertEqual(partner_form.street, False)
  51. self.assertEqual(partner_form.country_id.id, partner.country_id.id)
  52. def test_individual_vat_change(self):
  53. partner = self.partner_model.create(
  54. {
  55. "name": "3",
  56. "is_company": False,
  57. "country_id": self.be_country_id,
  58. }
  59. )
  60. with Form(partner) as partner_form:
  61. partner_form.vat = "BE0477472701"
  62. self.assertEqual(partner_form.name, partner.name)
  63. self.assertEqual(partner_form.street, False)
  64. self.assertEqual(partner_form.country_id.id, partner.country_id.id)
  65. def test_non_eu_vat_change(self):
  66. non_eu_country_id = self.env.ref("base.sc").id
  67. partner = self.partner_model.create(
  68. {
  69. "name": "4",
  70. "is_company": True,
  71. "country_id": non_eu_country_id,
  72. }
  73. )
  74. with Form(partner) as partner_form:
  75. partner_form.vat = "GT1234567 - 1"
  76. self.assertEqual(partner_form.name, partner.name)