Пример #1
0
def add_shipping_info_to_address_book_for_the_first_time(event):
    member = IMember(event.context)
    if member.area and not member.default_shipping_info:
        data = IShoppingSite(event.context).get_address('shipping')
        oid = u'{}1'.format('shipping')
        info = createContentInContainer(
            member.area, 'collective.cart.shopping.CustomerInfo', id=oid, checkConstraints=False, **data)

        if not IShoppingSite(event.context).billing_same_as_shipping:
            info.info_type = u'shipping'

        modified(info)
Пример #2
0
    def test_update_address(self, update_address):
        from zope.interface import alsoProvides
        alsoProvides(self.portal, IShoppingSiteRoot)

        adapter = IShoppingSite(self.portal)
        data = {}

        self.assertIsNone(adapter.update_address('billing', data))

        update_address.return_value = None
        self.assertEqual(adapter.update_address('billing', data),
                         u'birth_date_warning')

        data = {'birth_date': 'BDATE'}
        self.assertEqual(adapter.update_address('billing', data),
                         u'birth_date_warning')

        data = {'birth_date': '1990-01-31'}
        self.assertEqual(adapter.update_address('billing', data),
                         u'birth_date_warning')

        data = {'birth_date': '31.01.1990'}
        self.assertIsNone(adapter.update_address('billing', data))

        data = {'birth_date': '31.01.1890'}
        self.assertEqual(adapter.update_address('billing', data),
                         u'birth_date_warning_too_old')
Пример #3
0
    def test_create_order(self, cart):
        from zope.interface import alsoProvides
        alsoProvides(self.portal, IShoppingSiteRoot)

        with self.assertRaises(AttributeError):
            IShoppingSite(
                self.portal).create_order(order_id='2').registration_number

        self.create_content('collective.cart.core.OrderContainer')
        cart.return_value = {
            'articles': {
                'UUID1': mock.MagicMock()
            },
            'registration_number': '3'
        }
        self.assertEqual(
            IShoppingSite(
                self.portal).create_order(order_id='3').registration_number,
            '3')
Пример #4
0
    def _objs(self):
        """Returns list of article objects

        :rtype: list
        """
        query = {
            'sort_on': 'feed_order',
            'sort_order': 'descending',
        }
        limit = getUtility(IRegistry)['slt.theme.articles_feed_on_top_page']
        if limit:
            query['sort_limit'] = limit
        return IShoppingSite(self.context).get_objects(IFeedToShopTop, **query)
Пример #5
0
    def _orders(self):
        shopping_site = IShoppingSite(self.context)
        creator = self.context.restrictedTraverse('@@plone_portal_state').member().id
        query = {
            'Creator': creator,
            'path': shopping_site.shop_path(),
            'sort_on': 'modified',
            'sort_order': 'descending',
        }
        order_number = self.request.form.get('order_number')

        if order_number:
            query['id'] = order_number

        return shopping_site.get_content_listing(IOrder, **query)
Пример #6
0
 def test_verifyObject(self):
     from zope.interface.verify import verifyObject
     self.assertTrue(verifyObject(IShoppingSite,
                                  IShoppingSite(self.portal)))
Пример #7
0
 def test_link_to_order(self, getToolByName):
     context = self.create_content('collective.cart.core.Order', id='2')
     getToolByName().getHomeUrl.return_value = 'home_url'
     self.assertEqual(
         IShoppingSite(context).link_to_order(2), 'home_url?order_number=2')
Пример #8
0
 def test_verifyObject(self):
     from zope.interface.verify import verifyObject
     context = self.create_content('collective.cart.core.Order')
     self.assertTrue(verifyObject(IShoppingSite, IShoppingSite(context)))