def test_update_next_order_id(self, IOrderContainerAdapter):
        alsoProvides(self.portal, IShoppingSiteRoot)
        adapter = IShoppingSite(self.portal)
        adapter.update_next_order_id()
        self.assertFalse(IOrderContainerAdapter.called)

        self.create_content('collective.cart.core.OrderContainer')
        adapter.update_next_order_id()
        self.assertTrue(IOrderContainerAdapter().update_next_order_id.called)
    def test_create_order(self):
        adapter = IShoppingSite(self.portal)
        self.assertIsNone(adapter.create_order())

        order_container = self.create_content('collective.cart.core.OrderContainer')
        adapter.order_container = mock.Mock(return_value=order_container)

        article1 = {
            'id': '1',
            'title': 'Ärticle1',
            'description': 'Description of Ärticle1',
        }
        cart_articles = {'1': article1}
        adapter.cart_articles = mock.Mock(return_value=cart_articles)

        adapter.update_next_order_id = mock.Mock()
        order1 = adapter.create_order()
        self.assertEqual(order1.id, '1')

        order_article1 = order1['1']
        self.assertEqual(order_article1.title, article1['title'])
        self.assertEqual(order_article1.description, article1['description'])

        order3 = adapter.create_order('3')
        self.assertEqual(order3.id, '3')