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.
93 lines
3.2 KiB
93 lines
3.2 KiB
# -*- coding: utf-8 -*-
|
|
"""These tests try to mimic the behavior of the UI form.
|
|
|
|
The form operates in onchange mode, and has only some limitations that must be
|
|
met.
|
|
"""
|
|
|
|
from openerp.tests.common import TransactionCase
|
|
|
|
|
|
class PartnerCompanyCase(TransactionCase):
|
|
def test_create_from_form(self):
|
|
"""A user creates a company from the form."""
|
|
name = u"Sôme company"
|
|
with self.env.do_in_onchange():
|
|
# User presses ``new``
|
|
partner = self.env["res.partner"].create({})
|
|
|
|
# User ensures it is a company
|
|
partner.is_company = True
|
|
|
|
# User sets a name, which triggers onchanges
|
|
partner.name = name
|
|
partner._onchange_name()
|
|
|
|
self.assertEqual(partner.name, name)
|
|
self.assertEqual(partner.firstname, False)
|
|
self.assertEqual(partner.lastname, name)
|
|
|
|
|
|
class PartnerContactCase(TransactionCase):
|
|
def test_create_from_form_only_firstname(self):
|
|
"""A user creates a contact with only the firstname from the form."""
|
|
firstname = u"Fïrst"
|
|
with self.env.do_in_onchange():
|
|
# User presses ``new``
|
|
partner = self.env["res.partner"].create({})
|
|
|
|
# User ensures it is not a company
|
|
partner.is_company = False
|
|
|
|
# Changes firstname, which triggers onchanges
|
|
partner.firstname = firstname
|
|
partner._onchange_subnames()
|
|
partner._onchange_name()
|
|
|
|
self.assertEqual(partner.lastname, False)
|
|
self.assertEqual(partner.firstname, firstname)
|
|
self.assertEqual(partner.name, firstname)
|
|
|
|
def test_create_from_form_only_lastname(self):
|
|
"""A user creates a contact with only the lastname from the form."""
|
|
lastname = u"Läst"
|
|
with self.env.do_in_onchange():
|
|
# User presses ``new``
|
|
partner = self.env["res.partner"].create({})
|
|
|
|
# User ensures it is not a company
|
|
partner.is_company = False
|
|
|
|
# Changes lastname, which triggers onchanges
|
|
partner.lastname = lastname
|
|
partner._onchange_subnames()
|
|
partner._onchange_name()
|
|
|
|
self.assertEqual(partner.firstname, False)
|
|
self.assertEqual(partner.lastname, lastname)
|
|
self.assertEqual(partner.name, lastname)
|
|
|
|
def test_create_from_form_all(self):
|
|
"""A user creates a contact with all names from the form."""
|
|
firstname = u"Fïrst"
|
|
lastname = u"Läst"
|
|
with self.env.do_in_onchange():
|
|
# User presses ``new``
|
|
partner = self.env["res.partner"].create({})
|
|
|
|
# User ensures it is not a company
|
|
partner.is_company = False
|
|
|
|
# Changes firstname, which triggers onchanges
|
|
partner.firstname = firstname
|
|
partner._onchange_subnames()
|
|
partner._onchange_name()
|
|
|
|
# Changes lastname, which triggers onchanges
|
|
partner.lastname = lastname
|
|
partner._onchange_subnames()
|
|
partner._onchange_name()
|
|
|
|
self.assertEqual(partner.lastname, lastname)
|
|
self.assertEqual(partner.firstname, firstname)
|
|
self.assertEqual(partner.name, u" ".join((lastname, firstname)))
|