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

# Copyright (C) 2015 Forest and Biomass Romania
# Copyright (C) 2020 NextERP Romania
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
from odoo.tests.common import Form, TransactionCase
class TestPartnerCreateByVAT(TransactionCase):
def setUp(self):
super().setUp()
self.partner_model = self.env["res.partner"]
self.be_country_id = self.env.ref("base.be").id
self.sample_1 = {
"name": "SA ODOO",
"address": "Chaussée De Namur 40 1367 Ramillies",
"country_code": "BE",
}
def test_create_from_vat1(self):
# Create an partner from VAT number field
with Form(self.partner_model) as partner_form:
partner_form.is_company = True
partner_form.vat = "be0477472701"
# Check if the datas fetch correspond with the datas from VIES.
self.assertEqual(partner_form.name, self.sample_1["name"])
self.assertEqual(partner_form.street, self.sample_1["address"])
self.assertEqual(
partner_form.country_id.code, self.sample_1["country_code"]
)
self.assertEqual(partner_form.vat, "BE0477472701")
def test_company_vat_change(self):
# Change partner VAT number field
partner = self.partner_model.create({"name": "SA ODOO", "is_company": True})
with Form(partner) as partner_form:
# Check if the datas fetch correspond with the datas from VIES.
partner_form.vat = "be0477472701"
self.assertEqual(partner_form.name, self.sample_1["name"])
self.assertEqual(partner_form.street, self.sample_1["address"])
self.assertEqual(
partner_form.country_id.code, self.sample_1["country_code"]
)
self.assertEqual(partner_form.vat, "BE0477472701")
def test_empty_vat_change(self):
partner = self.partner_model.create(
{
"name": "2",
"is_company": True,
"country_id": self.be_country_id,
}
)
with Form(partner) as partner_form:
partner_form.vat = False
self.assertEqual(partner_form.name, partner.name)
self.assertEqual(partner_form.street, False)
self.assertEqual(partner_form.country_id.id, partner.country_id.id)
def test_individual_vat_change(self):
partner = self.partner_model.create(
{
"name": "3",
"is_company": False,
"country_id": self.be_country_id,
}
)
with Form(partner) as partner_form:
partner_form.vat = "BE0477472701"
self.assertEqual(partner_form.name, partner.name)
self.assertEqual(partner_form.street, False)
self.assertEqual(partner_form.country_id.id, partner.country_id.id)
def test_non_eu_vat_change(self):
non_eu_country_id = self.env.ref("base.sc").id
partner = self.partner_model.create(
{
"name": "4",
"is_company": True,
"country_id": non_eu_country_id,
}
)
with Form(partner) as partner_form:
partner_form.vat = "GT1234567 - 1"
self.assertEqual(partner_form.name, partner.name)