source: main/ikobacustom.uniben/trunk/src/ikobacustom/uniben/customers/tests/test_customer.py

Last change on this file was 14188, checked in by Henrik Bettermann, 8 years ago

Extend contract interface.

  • Property svn:keywords set to Id
File size: 2.6 KB
RevLine 
[12272]1## $Id: test_customer.py 14188 2016-09-26 05:13:42Z henrik $
2##
3## Copyright (C) 2014 Uli Fouquet & Henrik Bettermann
4## This program is free software; you can redistribute it and/or modify
5## it under the terms of the GNU General Public License as published by
6## the Free Software Foundation; either version 2 of the License, or
7## (at your option) any later version.
8##
9## This program is distributed in the hope that it will be useful,
10## but WITHOUT ANY WARRANTY; without even the implied warranty of
11## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12## GNU General Public License for more details.
13##
14## You should have received a copy of the GNU General Public License
15## along with this program; if not, write to the Free Software
16## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17##
18"""
[14178]19Tests for uniben customers.
[12272]20"""
21import tempfile
22import shutil
23from zope.interface.verify import verifyClass, verifyObject
24from zope.component import createObject
25from zope.component.hooks import setSite
26from zope.interface import verify
27from waeup.ikoba.app import Company
28from waeup.ikoba.customers.interfaces import (
29    ICustomersContainer, ICustomerNavigation)
30from waeup.ikoba.customers.container import CustomersContainer
31
[14178]32from ikobacustom.uniben.testing import (FunctionalLayer, FunctionalTestCase)
[14181]33from ikobacustom.uniben.customers.customer import UnibenCustomer
34from ikobacustom.uniben.customers.interfaces import IUnibenCustomer
[12272]35
[14181]36class UnibenCustomerTestCase(FunctionalTestCase):
[12272]37
38    layer = FunctionalLayer
39
40    def setUp(self):
[14181]41        super(UnibenCustomerTestCase, self).setUp()
[12272]42
43        # Prepopulate ZODB
44        app = Company()
45        self.dc_root = tempfile.mkdtemp()
46        app['datacenter'].setStoragePath(self.dc_root)
47
48        # Prepopulate the ZODB...
49        self.getRootFolder()['app'] = app
50        self.app = self.getRootFolder()['app']
51        setSite(self.app)
52
53    def test_interfaces(self):
[14181]54        verify.verifyClass(IUnibenCustomer, UnibenCustomer)
55        verify.verifyClass(ICustomerNavigation, UnibenCustomer)
56        verify.verifyObject(IUnibenCustomer, UnibenCustomer())
57        verify.verifyObject(ICustomerNavigation, UnibenCustomer())
[12272]58        return
59
[14181]60    def test_addUnibenCustomer(self):
[12272]61        customer = createObject(u'waeup.Customer')
[14181]62        verify.verifyObject(IUnibenCustomer, customer)
[12272]63        self.app['customers'].addCustomer(customer)
[14188]64        self.assertEqual(customer.customer_id, 'B1000000')
65        self.assertEqual(self.app['customers']['B1000000'], customer)
[12272]66        return
67
68    def tearDown(self):
69        shutil.rmtree(self.dc_root)
[14181]70        super(UnibenCustomerTestCase, self).tearDown()
[12272]71        return
Note: See TracBrowser for help on using the repository browser.