def test_order_review_shows_contact_information(self, browser):
     checkout.goto(checkout.ORDER_REVIEW)
     self.assertEquals([
         'Sir', 'Hugo Boss', '', 'Example Street 15', '', '3000 Bern',
         'Switzerland', '', 'Email: [email protected]',
         'Phone: 001 0101 0101 01', ''
     ], checkout.review_contact_information())
    def test_payment_processor_is_required(self, browser):
        checkout.goto(checkout.PAYMENT_PROCESSOR)
        checkout.next()
        checkout.assert_step(checkout.PAYMENT_PROCESSOR)
        form = browser.css('form.kssattr-formname-checkout-wizard').first

        # XXX: "Gegen Rechnung" should be translated to english
        self.assertEquals({u'Gegen Rechnung': ['Required input is missing.']},
                          z3cform.erroneous_fields(form))
    def test_payment_processor_is_required(self, browser):
        checkout.goto(checkout.PAYMENT_PROCESSOR)
        checkout.next()
        checkout.assert_step(checkout.PAYMENT_PROCESSOR)
        form = browser.css('form.kssattr-formname-checkout-wizard').first

        # XXX: "Gegen Rechnung" should be translated to english
        self.assertEquals({u'Gegen Rechnung': ['Required input is missing.']},
                          z3cform.erroneous_fields(form))
 def checkout_and_get_mail(self, *items):
     mailing = Mailing(self.portal)
     for item in items:
         checkout.visit_checkout_with_one_item_in_cart(item)
     checkout.goto(checkout.ORDER_REVIEW).finish()
     self.assertEquals(1, len(mailing.get_messages()),
                       'Notifying shop owner is disabled by default, therefore'
                       ' only one mail (to the customer) should be sent.')
     return email.message_from_string(mailing.pop())
 def test_order_review_shows_shipping_address(self, browser):
     checkout.goto(checkout.ORDER_REVIEW)
     self.assertEquals(['Sir',
                        'Hugo Boss',
                        '',
                        'Example Street 15',
                        '',
                        '3000 Bern',
                        ''],
                       checkout.review_shipping_address())
Example #6
0
 def checkout_and_get_mail(self, *items):
     mailing = Mailing(self.portal)
     for item in items:
         checkout.visit_checkout_with_one_item_in_cart(item)
     checkout.goto(checkout.ORDER_REVIEW).finish()
     self.assertEquals(
         1, len(mailing.get_messages()),
         'Notifying shop owner is disabled by default, therefore'
         ' only one mail (to the customer) should be sent.')
     return email.message_from_string(mailing.pop())
    def checkout_and_get_mail(self, *items):
        mailing = Mailing(self.portal)
        for item in items:
            checkout.visit_checkout_with_one_item_in_cart(item)
        checkout.goto(checkout.ORDER_REVIEW).finish()

        mails_by_recipient = mailing.get_messages_by_recipient()
        owner = 'Shop Owner <*****@*****.**>'
        self.assertIn(owner, mails_by_recipient,
                      'Expected a mail to the shop owner to be sent')
        return email.message_from_string(mails_by_recipient[owner][0])
 def test_order_review_shows_cart_items(self, browser):
     item = create(Builder('shop item')
                   .titled('Socks')
                   .having(description='A good pair of socks.',
                           price='10'))
     checkout.visit_checkout_with_one_item_in_cart(item=item)
     checkout.goto(checkout.ORDER_REVIEW)
     self.assertEquals([{'Product': 'Socks',
                         'Description': 'A good pair of socks.',
                         'Quantity': '1',
                         'Price': '10.00',
                         'Total': '10.00'}],
                       browser.css('table.cartListing').first.dicts(foot=False))
 def test_order_review_shows_contact_information(self, browser):
     checkout.goto(checkout.ORDER_REVIEW)
     self.assertEquals(['Sir',
                        'Hugo Boss',
                        '',
                        'Example Street 15',
                        '',
                        '3000 Bern',
                        'Switzerland',
                        '',
                        'Email: [email protected]',
                        'Phone: 001 0101 0101 01',
                        ''],
                       checkout.review_contact_information())
 def test_order_review_shows_cart_items(self, browser):
     item = create(
         Builder('shop item').titled('Socks').having(
             description='A good pair of socks.', price='10'))
     checkout.visit_checkout_with_one_item_in_cart(item=item)
     checkout.goto(checkout.ORDER_REVIEW)
     self.assertEquals(
         [{
             'Product': 'Socks',
             'Description': 'A good pair of socks.',
             'Quantity': '1',
             'Price': '10.00',
             'Total': '10.00'
         }],
         browser.css('table.cartListing').first.dicts(foot=False))
    def test_order_review_shows_correct_total(self, browser):
        pants = create(Builder('shop item').titled('Fancy Pants').having(price='35'))
        checkout.add_item_to_cart(pants, amount=2)
        socks = create(Builder('shop item').titled('Socks').having(price='12'))
        checkout.add_item_to_cart(socks, amount=3)

        cartportlet.order_link().click()
        checkout.goto(checkout.ORDER_REVIEW)

        # pants:  2 * 35 = 70
        # socks:  3 * 12 = 36
        # total          = 106

        table = browser.css('table.cartListing').first
        self.assertEquals([['VAT', '', '', '', '0.00'],
                           ['Total', '', '', '', '106.00']],
                          table.lists(head=False, body=False, foot=True))
    def test_order_review_shows_correct_total(self, browser):
        pants = create(
            Builder('shop item').titled('Fancy Pants').having(price='35'))
        checkout.add_item_to_cart(pants, amount=2)
        socks = create(Builder('shop item').titled('Socks').having(price='12'))
        checkout.add_item_to_cart(socks, amount=3)

        cartportlet.order_link().click()
        checkout.goto(checkout.ORDER_REVIEW)

        # pants:  2 * 35 = 70
        # socks:  3 * 12 = 36
        # total          = 106

        table = browser.css('table.cartListing').first
        self.assertEquals(
            [['VAT', '', '', '', '0.00'], ['Total', '', '', '', '106.00']],
            table.lists(head=False, body=False, foot=True))
 def test_back_on_shipping_address(self, browser):
     checkout.goto(checkout.SHIPPING_ADDRESS)
     checkout.back()
     checkout.assert_step(checkout.CONTACT_INFORMATION)
 def test_thankyou_page_when_finishing_checkout(self, browser):
     checkout.goto(checkout.ORDER_REVIEW).finish()
     self.assertEquals('thankyou', plone.view())
 def test_back_on_order_review_leads_to_payment_processor(self, browser):
     checkout.goto(checkout.ORDER_REVIEW)
     checkout.back()
     checkout.assert_step(checkout.PAYMENT_PROCESSOR)
 def test_payment_processor_selection(self, browser):
     checkout.goto(checkout.PAYMENT_PROCESSOR)
     checkout.submit_valid_payment_processor()
     checkout.assert_step(checkout.ORDER_REVIEW)
 def test_back_on_payment_processor(self, browser):
     checkout.goto(checkout.PAYMENT_PROCESSOR)
     checkout.select_valid_payment_processor()
     checkout.back()
     checkout.assert_step(checkout.SHIPPING_ADDRESS)
 def test_payment_processor_selection(self, browser):
     checkout.goto(checkout.PAYMENT_PROCESSOR)
     checkout.submit_valid_payment_processor()
     checkout.assert_step(checkout.ORDER_REVIEW)
 def test_back_on_payment_processor(self, browser):
     checkout.goto(checkout.PAYMENT_PROCESSOR)
     checkout.select_valid_payment_processor()
     checkout.back()
     checkout.assert_step(checkout.SHIPPING_ADDRESS)
 def test_back_on_shipping_address(self, browser):
     checkout.goto(checkout.SHIPPING_ADDRESS)
     checkout.back()
     checkout.assert_step(checkout.CONTACT_INFORMATION)
 def test_order_review_shows_shipping_address(self, browser):
     checkout.goto(checkout.ORDER_REVIEW)
     self.assertEquals(
         ['Sir', 'Hugo Boss', '', 'Example Street 15', '', '3000 Bern', ''],
         checkout.review_shipping_address())
 def test_thankyou_page_when_finishing_checkout(self, browser):
     checkout.goto(checkout.ORDER_REVIEW).finish()
     self.assertEquals('thankyou', plone.view())
 def test_back_on_order_review_leads_to_payment_processor(self, browser):
     checkout.goto(checkout.ORDER_REVIEW)
     checkout.back()
     checkout.assert_step(checkout.PAYMENT_PROCESSOR)