/** * Render Checkout Summary * * @return HtmlTagBuilder */ public function renderCheckoutSummary() { /** @var HtmlTagBuilder $result */ $result = HtmlTagBuilder::div(); $checkout = $this->checkout; // Customer and Payment $customer = $checkout['customer']; $result->append(HtmlTagBuilder::h2($customer->label())); $paymentMethod = $this->paymentMethods[$customer['paymentMethod']->val()]; $result->append($this->buildKeyValueTable(array($customer['email']->label() => $customer['email']->val(), $customer['telephone']->label() => $customer['telephone']->val(), $customer['paymentMethod']->label() => HtmlTagBuilder::div(HtmlTagBuilder::h3($paymentMethod['name']))->appendText($paymentMethod['desc'])))); // Addresses $billing = $checkout['billing']; $shipping = $checkout['shipping']; $result->append(HtmlTagBuilder::h2($billing->label())); $result->append($this->renderAddress($billing)); $result->append(HtmlTagBuilder::h2($shipping->label())); if ($shipping['use_shipping_address']->val() === 'on') { $result->append($this->renderAddress($shipping)); } else { $result->append($this->i18n->translate('checkoutSummary.shippingAdrSameAsBilling')); } // Comment $extra = $checkout['extra']; $result->append(HtmlTagBuilder::h2($extra->label())); $result->appendText($extra['comment']->val()); return $result; }
public function test_process() { // ARRANGE $uniqueString = __CLASS__ . '::' . __METHOD__ . '::' . __LINE__; $settingsMock = $this->getShopSettingsMock(null, null, array('getEmailNotificationAdr' => array($this->once(), $uniqueString . '*****@*****.**'), 'getEmailConfirmationText' => array($this->once(), $uniqueString . '*****@*****.**'))); $cartMock = $this->getCartMock(); $translatorMock = $this->getTranslatorMock(); $checkoutMock = $this->getCheckoutMock(); $mailerMock = $this->getMailerMock(); $strategy = $this->getCompleteStrategyMock(array('renderCart' => array($this->once(), HtmlTagBuilder::div()->appendText('CartOutput')), 'renderCheckoutSummary' => array($this->once(), HtmlTagBuilder::div()->appendText('CheckoutSummaryOutput')), 'getMailer' => array($this->exactly(2), $mailerMock)), array($settingsMock, $checkoutMock, $cartMock, $translatorMock)); // ACT $actualResponse = $strategy->process(); // ASSERT $expectedShopResponse = new ShopModeResponse('showSuccess'); $this->assertEquals($expectedShopResponse, $actualResponse); }
/** * @param \Render\APIs\APIv1\RenderAPI $renderApi * @param Unit $unit * @param $moduleInfo * @param \Render\APIs\APIv1\Page $productPage * @param Translator $i18n * * @return HtmlTagBuilder|void */ private function getAddCartTag($renderApi, $unit, $moduleInfo, $productPage, $i18n) { $shopSettings = $renderApi->getWebsiteSettings('rz_shop'); $cartPageId = $shopSettings['cartPage']; if (!$cartPageId) { return HtmlTagBuilder::div(HtmlTagBuilder::button($i18n->translate('msg.noCartPage'))->set(array('style' => 'cursor: default;')))->set(array('class' => 'RUKZUKmissingInputHint')); } $cartText = $i18n->translateInput($renderApi->getFormValue($unit, 'cartText')); $cartUrl = $renderApi->getNavigation()->getPage($cartPageId)->getUrl(); return $this->displayCartButton($cartText, $productPage, $cartUrl, $renderApi->isEditMode() || $renderApi->isTemplate(), $i18n); }
/** * @param HtmlTagBuilder $confirmation * @param string|null $emailConfirmationText * * @return string */ protected function getEmailBody($confirmation, $emailConfirmationText = null) { if (empty($emailConfirmationText)) { return $confirmation->toString(); } else { $emailBody = HtmlTagBuilder::div()->appendText($emailConfirmationText)->append($confirmation); return $emailBody->toString(); } }
/** * @param HeadAPI $api * @param Unit $unit * @param HtmlTagBuilder $wrapper */ protected function showErrors($api, $unit, $wrapper) { $errors = $this->getUnitContext($api, $unit, 'errors', array()); foreach ($errors as $errorMessage) { $wrapper->append(HtmlTagBuilder::div($errorMessage)->set('class', 'errorMessage')); } }