[ADD] boolean field import tests

bzr revid: xmo@openerp.com-20120730111105-k6q8xop0ru71l0dj
This commit is contained in:
Xavier Morel 2012-07-30 13:11:05 +02:00
parent 73f3f24fb4
commit 64910eaeba
2 changed files with 97 additions and 1 deletions

View File

@ -9,7 +9,7 @@ See the :ref:`test-framework` section in the :ref:`features` list.
"""
from . import test_expression, test_ir_sequence, test_orm,\
test_uninstall, test_export
test_uninstall, test_export, test_import
fast_suite = [
test_ir_sequence,
@ -19,6 +19,7 @@ checks = [
test_expression,
test_orm,
test_export,
test_import,
]
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -0,0 +1,95 @@
# -*- coding: utf-8 -*-
import openerp.modules.registry
import openerp
from . import common, export_models
def ok(n):
""" Successful import of ``n`` records
:param int n: number of records which should have been imported
"""
return n, 0, 0, 0
def values(seq):
return [item['value'] for item in seq]
def setupModule():
openerp.tools.config['update'] = {'base': 1}
openerp.modules.registry.RegistryManager.new(
common.DB, update_module=True)
class ImporterCase(common.TransactionCase):
model_name = False
def __init__(self, *args, **kwargs):
super(ImporterCase, self).__init__(*args, **kwargs)
self.model = None
def setUp(self):
super(ImporterCase, self).setUp()
self.model = self.registry(self.model_name)
def import_(self, fields, rows, context=None):
return self.model.import_data(
self.cr, openerp.SUPERUSER_ID, fields, rows, context=context)
def read(self, fields=('value',), domain=(), context=None):
return self.model.read(
self.cr, openerp.SUPERUSER_ID,
self.model.search(self.cr, openerp.SUPERUSER_ID, domain, context=context),
fields=fields, context=context)
class test_boolean_field(ImporterCase):
model_name = 'export.boolean'
def test_empty(self):
self.assertEqual(
self.import_(['value'], []),
ok(0))
def test_exported(self):
self.assertEqual(
self.import_(['value'], [
['False'],
['True'],
]),
ok(2))
records = self.read()
self.assertItemsEqual([
False,
True,
], values(records))
def test_falses(self):
self.assertEqual(
self.import_(['value'], [
[u'0'],
[u'off'],
[u'false'],
[u'FALSE'],
[u'OFF'],
]),
ok(5))
self.assertItemsEqual([
False,
False,
False,
False,
False,
],
values(self.read()))
def test_trues(self):
self.assertEqual(
self.import_(['value'], [
['no'],
['None'],
['nil'],
['()'],
['f'],
['#f'],
]),
ok(6))
self.assertItemsEqual(
[True] * 6,
values(self.read()))