本文整理匯總了PHP中Magento\Quote\Model\Quote\Address類的典型用法代碼示例。如果您正苦於以下問題:PHP Address類的具體用法?PHP Address怎麽用?PHP Address使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
在下文中一共展示了Address類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: fetchTotals
/**
* Fetch totals
*
* @param \Magento\Quote\Model\Quote\Address $address
* @return $this
*/
public function fetchTotals(\Magento\Quote\Model\Quote\Address $address)
{
$amount = $address->getTaxAmount();
if ($amount != 0) {
$address->addTotal(['code' => 'tax', 'title' => __('Tax'), 'value' => $amount]);
}
return $this;
}
示例2: fetchTotals
/**
* Fetch customer balance
*
* @param \Magento\Quote\Model\Quote\Address $address
* @return $this
*/
public function fetchTotals(\Magento\Quote\Model\Quote\Address $address)
{
$custbalance = $address->getCustbalanceAmount();
if ($custbalance != 0) {
$address->addTotal(['code' => 'custbalance', 'title' => __('Store Credit'), 'value' => -$custbalance]);
}
return $this;
}
示例3: disabledQuoteAddressValidationStep
/**
* @param \PHPUnit_Framework_MockObject_MockObject $quoteMock
*/
private function disabledQuoteAddressValidationStep(\PHPUnit_Framework_MockObject_MockObject $quoteMock)
{
$billingAddressMock = $this->getBillingAddressMock($quoteMock);
$billingAddressMock->expects(self::once())->method('setShouldIgnoreValidation')->with(true)->willReturnSelf();
$this->shippingAddressMock->expects(self::once())->method('setShouldIgnoreValidation')->with(true)->willReturnSelf();
$billingAddressMock->expects(self::at(1))->method('getEmail')->willReturn(self::TEST_EMAIL);
$billingAddressMock->expects(self::never())->method('setSameAsBilling');
}
示例4: testValidateMiniumumAmountNegative
public function testValidateMiniumumAmountNegative()
{
$storeId = 1;
$scopeConfigValues = [['sales/minimum_order/active', ScopeInterface::SCOPE_STORE, $storeId, true], ['sales/minimum_order/amount', ScopeInterface::SCOPE_STORE, $storeId, 20], ['sales/minimum_order/tax_including', ScopeInterface::SCOPE_STORE, $storeId, true]];
$this->quote->expects($this->once())->method('getStoreId')->willReturn($storeId);
$this->quote->expects($this->once())->method('getIsVirtual')->willReturn(false);
$this->address->setAddressType(Address::TYPE_SHIPPING);
$this->scopeConfig->expects($this->once())->method('isSetFlag')->willReturnMap($scopeConfigValues);
$this->assertTrue($this->address->validateMinimumAmount());
}
示例5: isEnabled
/**
* Check whether VAT ID validation is enabled
*
* @param \Magento\Quote\Model\Quote\Address $quoteAddress
* @param \Magento\Store\Model\Store|int $store
* @return bool
*/
public function isEnabled(\Magento\Quote\Model\Quote\Address $quoteAddress, $store)
{
$configAddressType = $this->customerAddress->getTaxCalculationAddressType($store);
// When VAT is based on billing address then Magento have to handle only billing addresses
$additionalBillingAddressCondition = $configAddressType == \Magento\Customer\Model\Address\AbstractAddress::TYPE_BILLING ? $configAddressType != $quoteAddress->getAddressType() : false;
// Handle only addresses that corresponds to VAT configuration
if (!$this->customerAddress->isVatValidationEnabled($store) || $additionalBillingAddressCondition) {
return false;
}
return true;
}
示例6: isCanApplyMsrp
/**
* @param \Magento\Quote\Model\Quote\Address $address
* @return bool
*/
public function isCanApplyMsrp($address)
{
$canApplyMsrp = false;
foreach ($address->getAllItems() as $item) {
if (!$item->getParentItemId() && $this->msrpHelper->isShowBeforeOrderConfirm($item->getProductId()) && $this->msrpHelper->isMinimalPriceLessMsrp($item->getProductId())) {
$canApplyMsrp = true;
break;
}
}
return $canApplyMsrp;
}
示例7: collect
/**
* @param \Magento\Quote\Model\Quote\Address $address
* @return $this
*/
public function collect(\Magento\Quote\Model\Quote\Address $address)
{
$address->setCustbalanceAmount(0);
$address->setBaseCustbalanceAmount(0);
$address->setGrandTotal($address->getGrandTotal() - $address->getCustbalanceAmount());
$address->setBaseGrandTotal($address->getBaseGrandTotal() - $address->getBaseCustbalanceAmount());
return $this;
}
示例8: fetchTotals
/**
* Fetch discount
*
* @param \Magento\Quote\Model\Quote\Address $address
* @return $this
*/
public function fetchTotals(\Magento\Quote\Model\Quote\Address $address)
{
$amount = $address->getDiscountAmount();
if ($amount != 0) {
$title = __('Discount');
$couponCode = $address->getQuote()->getCouponCode();
if (strlen($couponCode)) {
$title .= sprintf(' (%s)', $couponCode);
}
$address->addTotal(['code' => 'discount', 'title' => $title, 'value' => -$amount]);
}
return $this;
}
示例9: testCollect
public function testCollect()
{
$this->shippingAssignment->expects($this->exactly(3))->method('getShipping')->willReturn($this->shipping);
$this->shipping->expects($this->exactly(2))->method('getAddress')->willReturn($this->address);
$this->shipping->expects($this->once())->method('getMethod')->willReturn('flatrate');
$this->shippingAssignment->expects($this->atLeastOnce())->method('getItems')->willReturn([$this->cartItem]);
$this->freeShipping->expects($this->once())->method('isFreeShipping')->with($this->quote, [$this->cartItem])->willReturn(true);
$this->address->expects($this->once())->method('setFreeShipping')->with(true);
$this->total->expects($this->atLeastOnce())->method('setTotalAmount');
$this->total->expects($this->atLeastOnce())->method('setBaseTotalAmount');
$this->cartItem->expects($this->atLeastOnce())->method('getProduct')->willReturnSelf();
$this->cartItem->expects($this->atLeastOnce())->method('isVirtual')->willReturn(false);
$this->cartItem->expects($this->once())->method('getParentItem')->willReturn(false);
$this->cartItem->expects($this->once())->method('getHasChildren')->willReturn(false);
$this->cartItem->expects($this->once())->method('getWeight')->willReturn(2);
$this->cartItem->expects($this->atLeastOnce())->method('getQty')->willReturn(2);
$this->address->expects($this->once())->method('getFreeShipping')->willReturn(true);
$this->cartItem->expects($this->once())->method('setRowWeight')->with(0);
$this->address->expects($this->once())->method('setItemQty')->with(2);
$this->address->expects($this->atLeastOnce())->method('setWeight');
$this->address->expects($this->atLeastOnce())->method('setFreeMethodWeight');
$this->address->expects($this->once())->method('collectShippingRates');
$this->address->expects($this->once())->method('getAllShippingRates')->willReturn([$this->rate]);
$this->rate->expects($this->once())->method('getCode')->willReturn('flatrate');
$this->quote->expects($this->once())->method('getStore')->willReturn($this->store);
$this->rate->expects($this->atLeastOnce())->method('getPrice')->willReturn(5);
$this->priceCurrency->expects($this->once())->method('convert')->with(5, $this->store)->willReturn(5);
$this->total->expects($this->once())->method('setShippingAmount')->with(5);
$this->rate->expects($this->once())->method('getCarrierTitle')->willReturn('Carrier title');
$this->rate->expects($this->once())->method('getMethodTitle')->willReturn('Method title');
$this->address->expects($this->once())->method('setShippingDescription')->with('Carrier title - Method title');
$this->address->expects($this->once())->method('getShippingDescription')->willReturn('Carrier title - Method title');
$this->total->expects($this->once())->method('setShippingDescription')->with('Carrier title - Method title');
$this->shippingModel->collect($this->quote, $this->shippingAssignment, $this->total);
}
示例10: testAfterConvertNullExtensionAttribute
/**
* @dataProvider afterConvertDataProvider
*/
public function testAfterConvertNullExtensionAttribute($appliedTaxes, $itemsAppliedTaxes)
{
$this->model->beforeConvert($this->subjectMock, $this->quoteAddressMock);
$this->quoteAddressMock->expects($this->once())->method('getAppliedTaxes')->willReturn($appliedTaxes);
$this->quoteAddressMock->expects($this->once())->method('getItemsAppliedTaxes')->willReturn($itemsAppliedTaxes);
$orderExtensionAttributeMock = $this->setupOrderExtensionAttributeMock();
$orderMock = $this->getMockBuilder('\\Magento\\Sales\\Model\\Order')->disableOriginalConstructor()->getMock();
$orderMock->expects($this->once())->method('getExtensionAttributes')->willReturn(null);
$this->orderExtensionFactoryMock->expects($this->once())->method('create')->willReturn($orderExtensionAttributeMock);
$orderExtensionAttributeMock->expects($this->once())->method('setAppliedTaxes')->with($appliedTaxes);
$orderExtensionAttributeMock->expects($this->once())->method('setConvertingFromQuote')->with(true);
$orderExtensionAttributeMock->expects($this->once())->method('setItemAppliedTaxes')->with($itemsAppliedTaxes);
$orderMock->expects($this->once())->method('setExtensionAttributes')->with($orderExtensionAttributeMock);
$this->assertEquals($orderMock, $this->model->afterConvert($this->subjectMock, $orderMock));
}
示例11: testPrepareQuoteForNewCustomer
public function testPrepareQuoteForNewCustomer()
{
$customerAddressMock = $this->getMockBuilder('Magento\\Customer\\Api\\Data\\AddressInterface')->disableOriginalConstructor()->getMock();
$this->addressMock->expects($this->any())->method('exportCustomerAddress')->willReturn($customerAddressMock);
$this->addressMock->expects($this->any())->method('getData')->willReturn([]);
$this->addressFactoryMock->expects($this->any())->method('create')->willReturn($this->addressMock);
$this->quoteMock->expects($this->any())->method('isVirtual')->willReturn(false);
$this->quoteMock->expects($this->once())->method('getBillingAddress')->willReturn($this->addressMock);
$this->quoteMock->expects($this->once())->method('getShippingAddress')->willReturn($this->addressMock);
$customerDataMock = $this->getMockBuilder('Magento\\Customer\\Api\\Data\\CustomerInterface')->disableOriginalConstructor()->getMock();
$this->customerFactoryMock->expects($this->once())->method('create')->willReturn($customerDataMock);
$this->copyObjectMock->expects($this->any())->method('getDataFromFieldset')->willReturn([]);
$this->dataObjectHelper->expects($this->any())->method('populateWithArray')->willReturnSelf();
$this->assertInstanceOf('Magento\\Quote\\Model\\Quote', $this->quote->prepareQuoteForNewCustomer($this->quoteMock));
}
示例12: testPopulateCustomerInfo
public function testPopulateCustomerInfo()
{
$this->quoteMock->expects($this->once())->method('getCustomer')->willReturn($this->customerMock);
$this->customerMock->expects($this->atLeastOnce())->method('getId')->willReturn(null);
$this->customerMock->expects($this->atLeastOnce())->method('getDefaultBilling')->willReturn(100500);
$this->quoteMock->expects($this->atLeastOnce())->method('getBillingAddress')->willReturn($this->quoteAddressMock);
$this->quoteMock->expects($this->atLeastOnce())->method('getShippingAddress')->willReturn($this->quoteAddressMock);
$this->quoteMock->expects($this->atLeastOnce())->method('setCustomer')->with($this->customerMock)->willReturnSelf();
$this->quoteMock->expects($this->once())->method('getPasswordHash')->willReturn('password hash');
$this->quoteAddressMock->expects($this->atLeastOnce())->method('getId')->willReturn(null);
$this->customerAddressRepositoryMock->expects($this->atLeastOnce())->method('getById')->with(100500)->willReturn($this->customerAddressMock);
$this->quoteAddressMock->expects($this->atLeastOnce())->method('importCustomerAddressData')->willReturnSelf();
$this->accountManagementMock->expects($this->once())->method('createAccountWithPasswordHash')->with($this->customerMock, 'password hash')->willReturn($this->customerMock);
$this->customerManagement->populateCustomerInfo($this->quoteMock);
}
示例13: _beforeToHtml
/**
* Retrieve payment method and assign additional template values
*
* @return $this
* @SuppressWarnings(PHPMD.UnusedLocalVariable)
*/
protected function _beforeToHtml()
{
$methodInstance = $this->_quote->getPayment()->getMethodInstance();
$this->setPaymentMethodTitle($methodInstance->getTitle());
$this->setShippingRateRequired(true);
if ($this->_quote->getIsVirtual()) {
$this->setShippingRateRequired(false);
} else {
// prepare shipping rates
$this->_address = $this->_quote->getShippingAddress();
$groups = $this->_address->getGroupedAllShippingRates();
if ($groups && $this->_address) {
$this->setShippingRateGroups($groups);
// determine current selected code & name
foreach ($groups as $code => $rates) {
foreach ($rates as $rate) {
if ($this->_address->getShippingMethod() == $rate->getCode()) {
$this->_currentShippingRate = $rate;
break 2;
}
}
}
}
$canEditShippingAddress = $this->_quote->getMayEditShippingAddress() && $this->_quote->getPayment()->getAdditionalInformation(\Magento\Paypal\Model\Express\Checkout::PAYMENT_INFO_BUTTON) == 1;
// misc shipping parameters
$this->setShippingMethodSubmitUrl($this->getUrl("{$this->_controllerPath}/saveShippingMethod"))->setCanEditShippingAddress($canEditShippingAddress)->setCanEditShippingMethod($this->_quote->getMayEditShippingMethod());
}
$this->setEditUrl($this->getUrl("{$this->_controllerPath}/edit"))->setPlaceOrderUrl($this->getUrl("{$this->_controllerPath}/placeOrder"));
return parent::_beforeToHtml();
}
示例14: updateBillingAddressStep
/**
* @param array $details
*/
private function updateBillingAddressStep(array $details)
{
$this->configMock->expects(self::once())->method('isRequiredBillingAddress')->willReturn(true);
$this->updateAddressDataStep($this->billingAddressMock, $details['billingAddress']);
$this->billingAddressMock->expects(self::once())->method('setLastname')->with($details['lastName']);
$this->billingAddressMock->expects(self::once())->method('setFirstname')->with($details['firstName']);
$this->billingAddressMock->expects(self::once())->method('setEmail')->with($details['email']);
}
示例15: setUp
public function setUp()
{
$objectManager = new ObjectManager($this);
$this->taxConfig = $this->getMockBuilder('\\Magento\\Tax\\Model\\Config')->disableOriginalConstructor()->setMethods(['getShippingTaxClass', 'shippingPriceIncludesTax'])->getMock();
$this->store = $this->getMockBuilder('\\Magento\\Store\\Model\\Store')->disableOriginalConstructor()->setMethods(['__wakeup'])->getMock();
$this->quote = $this->getMockBuilder('\\Magento\\Quote\\Model\\Quote')->disableOriginalConstructor()->setMethods(['__wakeup', 'getStore'])->getMock();
$this->quote->expects($this->any())->method('getStore')->will($this->returnValue($this->store));
$this->address = $this->getMockBuilder('\\Magento\\Quote\\Model\\Quote\\Address')->disableOriginalConstructor()->getMock();
$this->address->expects($this->any())->method('getQuote')->will($this->returnValue($this->quote));
$methods = ['create'];
$this->quoteDetailsItemDataObject = $objectManager->getObject('Magento\\Tax\\Model\\Sales\\Quote\\ItemDetails');
$this->taxClassKeyDataObject = $objectManager->getObject('Magento\\Tax\\Model\\TaxClass\\Key');
$this->quoteDetailsItemDataObjectFactoryMock = $this->getMock('Magento\\Tax\\Api\\Data\\QuoteDetailsItemInterfaceFactory', $methods, [], '', false);
$this->quoteDetailsItemDataObjectFactoryMock->expects($this->any())->method('create')->willReturn($this->quoteDetailsItemDataObject);
$this->taxClassKeyDataObjectFactoryMock = $this->getMock('Magento\\Tax\\Api\\Data\\TaxClassKeyInterfaceFactory', $methods, [], '', false);
$this->taxClassKeyDataObjectFactoryMock->expects($this->any())->method('create')->willReturn($this->taxClassKeyDataObject);
$this->commonTaxCollector = $objectManager->getObject('Magento\\Tax\\Model\\Sales\\Total\\Quote\\CommonTaxCollector', ['taxConfig' => $this->taxConfig, 'quoteDetailsItemDataObjectFactory' => $this->quoteDetailsItemDataObjectFactoryMock, 'taxClassKeyDataObjectFactory' => $this->taxClassKeyDataObjectFactoryMock]);
}