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())
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)