diff --git a/passport/tests/__init__.py b/passport/tests/__init__.py new file mode 100644 index 000000000..379245ef1 --- /dev/null +++ b/passport/tests/__init__.py @@ -0,0 +1,27 @@ +# -*- encoding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# This module copyright (C) 2013 Savoir-faire Linux +# (). +# +# 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 . +# +############################################################################## + +from . import test_passport + +checks = [ + test_passport, +] diff --git a/passport/tests/test_passport.py b/passport/tests/test_passport.py new file mode 100644 index 000000000..03a2dcbdd --- /dev/null +++ b/passport/tests/test_passport.py @@ -0,0 +1,109 @@ +# -*- encoding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# This module copyright (C) 2013 Savoir-faire Linux +# (). +# +# 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 . +# +############################################################################## + +from openerp.tests.common import TransactionCase +from openerp.osv.orm import browse_record +from datetime import date + + +class Base_Test_passport(TransactionCase): + """ + Simple test creating a passport + This is a base class for passport test cases. + Inherit from this and setup values. + """ + + def setUp(self, vals={}): + """ + Setting up passport. + """ + # Default test values + self.vals = {'name': 'This is a test passport name', + 'number': 'A200124789', + 'country_id': 1, + 'expiration_date': date(2013, 11, 14), + 'birth_date': date(1980, 11, 21), + 'gender': 'male', + } + super(Base_Test_passport, self).setUp() + # Overwrite vals if needed + self.vals = dict(self.vals.items() + vals.items()) + # Create the passport object; we will be testing this, so store in self + res_passport = self.registry('res.passport') + self.passport_id = res_passport.create(self.cr, self.uid, self.vals, context=None) + + def test_passport(self): + """ + Checking the passport creation. + """ + res_passport = self.registry('res.passport') + passport_obj = res_passport.browse(self.cr, self.uid, self.passport_id, context=None) + for field in self.vals: + val = passport_obj[field] + if type(val) == browse_record: + self.assertEquals(self.vals[field], val.id, + "IDs for %s don't match: (%i != %i)" % + (field, self.vals[field], val.id)) + else: + self.assertEquals(str(self.vals[field]), str(val), + "Values for %s don't match: (%s != %s)" % + (field, str(self.vals[field]), str(val))) + + +class Test_passport_bad(Base_Test_passport): + """ + Simple test creating a passport, test against bad values + """ + def setUp(self): + """ + Setting up passport, then changing the values to test against. + """ + super(Test_passport_bad, self).setUp() + # Change vals to something wrong + self.vals = { + 'name': 'This is the wrong passport name', + 'number': 'A111111111', + 'country_id': 0, + 'expiration_date': date(1999, 11, 14), + 'birth_date': date(1999, 11, 21), + 'gender': '', + } + + def test_passport(self): + """ + Checking the passport creation, assertions should all be false. + """ + res_passport = self.registry('res.passport') + passport_obj = res_passport.browse(self.cr, self.uid, self.passport_id, context=None) + for field in self.vals: + val = passport_obj[field] + if type(val) == browse_record: + self.assertNotEqual(self.vals[field], val.id, + "IDs for %s don't match: (%i != %i)" % + (field, self.vals[field], val.id)) + else: + self.assertNotEqual(str(self.vals[field]), str(val), + "Values for %s don't match: (%s != %s)" % + (field, str(self.vals[field]), str(val))) + + +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: