/** * @expectedException \Magento\Framework\Exception\InputException * @expectedExceptionMessage Unable to save address. Please, check input data. */ public function testSetAddressWithInabilityToSaveQuote() { $quoteMock = $this->getMock('\\Magento\\Sales\\Model\\Quote', [], [], '', false); $this->quoteRepositoryMock->expects($this->once())->method('get')->with('cart867')->will($this->returnValue($quoteMock)); $quoteMock->expects($this->once())->method('isVirtual')->will($this->returnValue(false)); $builder = $this->getMock('\\Magento\\Checkout\\Service\\V1\\Data\\Cart\\Address\\RegionBuilder', ['create'], [], '', false); /** @var \Magento\Checkout\Service\V1\Data\Cart\AddressBuilder $addressDataBuilder */ $addressDataBuilder = $this->objectManager->getObject('Magento\\Checkout\\Service\\V1\\Data\\Cart\\AddressBuilder', ['regionBuilder' => $builder]); /** @var \Magento\Checkout\Service\V1\Data\Cart\Address $addressData */ $addressData = $addressDataBuilder->setId(356)->create(); $this->validatorMock->expects($this->once())->method('validate')->with($addressData)->will($this->returnValue(true)); $this->converterMock->expects($this->once())->method('convertDataObjectToModel')->with($addressData, $this->quoteAddressMock)->will($this->returnValue($this->quoteAddressMock)); $quoteMock->expects($this->once())->method('setShippingAddress')->with($this->quoteAddressMock); $quoteMock->expects($this->once())->method('setDataChanges')->with(true); $quoteMock->expects($this->once())->method('save')->willThrowException(new \Exception('Some DB Error')); $this->service->setAddress('cart867', $addressData); }
/** * @expectedException \Magento\Framework\Exception\NoSuchEntityException * @expectedExceptionMessage Cart contains virtual product(s) only. Shipping address is not applicable */ public function testSetAddressForVirtualProduct() { $storeId = 323; $storeMock = $this->getMock('\\Magento\\Store\\Model\\Store', [], [], '', false); $storeMock->expects($this->once())->method('getId')->will($this->returnValue($storeId)); $this->storeManagerMock->expects($this->once())->method('getStore')->will($this->returnValue($storeMock)); $quoteMock = $this->getMock('\\Magento\\Sales\\Model\\Quote', [], [], '', false); $this->quoteLoaderMock->expects($this->once())->method('load')->with('cart867', $storeId)->will($this->returnValue($quoteMock)); $quoteMock->expects($this->once())->method('isVirtual')->will($this->returnValue(true)); /** @var \Magento\Checkout\Service\V1\Data\Cart\AddressBuilder $addressDataBuilder */ $addressDataBuilder = $this->objectManager->getObject('Magento\\Checkout\\Service\\V1\\Data\\Cart\\AddressBuilder'); /** @var \Magento\Checkout\Service\V1\Data\Cart\Address $addressData */ $addressData = $addressDataBuilder->setId(356)->create(); $this->validatorMock->expects($this->never())->method('validate'); $quoteMock->expects($this->never())->method('setShippingAddress'); $quoteMock->expects($this->never())->method('save'); $this->service->setAddress('cart867', $addressData); }
public function testSetAddress() { $storeId = 323; $storeMock = $this->getMock('\\Magento\\Store\\Model\\Store', [], [], '', false); $storeMock->expects($this->once())->method('getId')->will($this->returnValue($storeId)); $this->storeManagerMock->expects($this->once())->method('getStore')->will($this->returnValue($storeMock)); $quoteMock = $this->getMock('\\Magento\\Sales\\Model\\Quote', [], [], '', false); $this->quoteLoaderMock->expects($this->once())->method('load')->with('cartId', $storeId)->will($this->returnValue($quoteMock)); /** @var \Magento\Checkout\Service\V1\Data\Cart\AddressBuilder $addressDataBuilder */ $addressDataBuilder = $this->objectManager->getObject('Magento\\Checkout\\Service\\V1\\Data\\Cart\\AddressBuilder'); /** @var \Magento\Checkout\Service\V1\Data\Cart\Address $addressData */ $addressData = $addressDataBuilder->setId(454)->create(); $this->validatorMock->expects($this->once())->method('validate')->with($addressData)->will($this->returnValue(true)); $this->converterMock->expects($this->once())->method('convertDataObjectToModel')->with($addressData, $this->quoteAddressMock)->will($this->returnValue($this->quoteAddressMock)); $quoteMock->expects($this->once())->method('setBillingAddress')->with($this->quoteAddressMock); $quoteMock->expects($this->once())->method('setDataChanges')->with(true); $quoteMock->expects($this->once())->method('save'); $addressId = 1; $billingAddressMock = $this->getMock('\\Magento\\Sales\\Model\\Quote\\Address', [], [], '', false); $billingAddressMock->expects($this->once())->method('getId')->will($this->returnValue($addressId)); $quoteMock->expects($this->once())->method('getBillingAddress')->will($this->returnValue($billingAddressMock)); $this->assertEquals($addressId, $this->service->setAddress('cartId', $addressData)); }