75 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Python
		
	
	
			
		
		
	
	
			75 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Python
		
	
	
| # -*- coding: utf-8 -*-
 | |
| # © 2014-2015 Grupo ESOC <www.grupoesoc.es>
 | |
| # © 2016 Yannick Vaucher (Camptocamp)
 | |
| # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
 | |
| """Test situations where names are empty.
 | |
| 
 | |
| To have more accurate results, remove the ``mail`` module before testing.
 | |
| """
 | |
| from odoo.tests.common import TransactionCase
 | |
| from .base import MailInstalled
 | |
| from .. import exceptions as ex
 | |
| 
 | |
| 
 | |
| class CompanyCase(TransactionCase):
 | |
|     """Test ``res.partner`` when it is a company."""
 | |
|     model = "res.partner"
 | |
|     context = {"default_is_company": True}
 | |
| 
 | |
|     def tearDown(self):
 | |
|         try:
 | |
|             data = {"name": self.name}
 | |
|             model = self.env[self.model].with_context(**self.context)
 | |
|             with self.assertRaises(ex.EmptyNamesError):
 | |
|                 model.create(data)
 | |
|         finally:
 | |
|             super(CompanyCase, self).tearDown()
 | |
| 
 | |
|     def test_name_empty_string(self):
 | |
|         """Test what happens when the name is an empty string."""
 | |
|         self.name = ""
 | |
| 
 | |
|     def test_name_false(self):
 | |
|         """Test what happens when the name is ``False``."""
 | |
|         self.name = False
 | |
| 
 | |
| 
 | |
| class PersonCase(CompanyCase):
 | |
|     """Test ``res.partner`` when it is a person."""
 | |
|     context = {"default_is_company": False, "default_type": 'contact'}
 | |
| 
 | |
| 
 | |
| class UserCase(CompanyCase, MailInstalled):
 | |
|     """Test ``res.users``."""
 | |
|     model = "res.users"
 | |
|     context = {"default_login": "user@example.com"}
 | |
| 
 | |
|     def tearDown(self):
 | |
|         # Cannot create users if ``mail`` is installed
 | |
|         if self.mail_installed():
 | |
|             # Skip tests
 | |
|             super(CompanyCase, self).tearDown()
 | |
|         else:
 | |
|             # Run tests
 | |
|             super(UserCase, self).tearDown()
 | |
| 
 | |
| 
 | |
| class AddressCase(TransactionCase):
 | |
|     """Test ``res.partner`` when it is a address."""
 | |
| 
 | |
|     def test_new_empty_invoice_address(self):
 | |
|         """Create an invoice patner without name."""
 | |
|         self.original = self.env["res.partner"].create({
 | |
|             "is_company": False,
 | |
|             "type": 'invoice',
 | |
|             "lastname": "",
 | |
|             "firstname": ""})
 | |
| 
 | |
|     def test_new_empty_shipping_address(self):
 | |
|         """Create an shipping patner without name."""
 | |
|         self.original = self.env["res.partner"].create({
 | |
|             "is_company": False,
 | |
|             "type": 'delivery',
 | |
|             "lastname": "",
 | |
|             "firstname": ""})
 |