Browse Source

Add new tests and fix the resulting bugs.

pull/104/head
Jairo Llopis 10 years ago
parent
commit
6ffca482b2
  1. 4
      partner_firstname/models.py
  2. 2
      partner_firstname/tests/__init__.py
  3. 53
      partner_firstname/tests/test_empty.py
  4. 0
      partner_firstname/tests/test_name.py

4
partner_firstname/models.py

@ -55,7 +55,7 @@ class ResPartner(models.Model):
submodules can extend that method and get whitespace cleaning for free.
"""
# Remove unneeded whitespace
clean = u" ".join(self.name.split(None))
clean = u" ".join(self.name.split(None)) if self.name else self.name
# Clean name avoiding infinite recursion
if self.name != clean:
@ -78,7 +78,7 @@ class ResPartner(models.Model):
trimmed whitespace.
"""
# Company name goes to the lastname
if self.is_company:
if self.is_company or self.name is False:
parts = [self.name, False]
# Guess name splitting

2
partner_firstname/tests/__init__.py

@ -28,4 +28,4 @@
#
##############################################################################
from . import test_partner_firstname
from . import test_name, test_empty

53
partner_firstname/tests/test_empty.py

@ -0,0 +1,53 @@
# -*- encoding: utf-8 -*-
# Odoo, Open Source Management Solution
# Copyright (C) 2014-2015 Grupo ESOC <www.grupoesoc.es>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
from openerp.tests.common import TransactionCase
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}
with self.assertRaises(ex.EmptyNamesError):
self.env[self.model].with_context(**self.context).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}
class UserCase(CompanyCase):
"""Test ``res.users``."""
model = "res.users"
context = {"default_login": "user@example.com"}

0
partner_firstname/tests/test_partner_firstname.py → partner_firstname/tests/test_name.py

Loading…
Cancel
Save