43 $this->objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
45 $this->addressRepositoryMock = $this->createMock(\
Magento\Customer\Api\AddressRepositoryInterface::class);
46 $this->quoteAddressMock = $this->createPartialMock(
48 [
'getCustomerId',
'load',
'getId',
'__wakeup']
50 $this->customerRepositoryMock = $this->createMock(\
Magento\Customer\Api\CustomerRepositoryInterface::class);
51 $this->customerSessionMock = $this->createMock(\
Magento\Customer\Model\Session::class);
52 $this->model = $this->objectManager->getObject(
55 'addressRepository' => $this->addressRepositoryMock,
56 'customerRepository' => $this->customerRepositoryMock,
57 'customerSession' => $this->customerSessionMock
70 $customerMock = $this->createMock(\
Magento\Customer\Api\Data\CustomerInterface::class);
73 $this->customerRepositoryMock->expects($this->once())->method(
'getById')->with(
$customerId)
74 ->willReturn($customerMock);
85 $this->customerRepositoryMock->expects($this->never())->method(
'getById');
86 $address->expects($this->atLeastOnce())->method(
'getCustomerAddressId')->willReturn(101);
87 $address->expects($this->once())->method(
'getId')->willReturn(101);
89 $this->addressRepositoryMock->expects($this->once())->method(
'getById')
100 $this->customerRepositoryMock->expects($this->never())->method(
'getById');
101 $this->addressRepositoryMock->expects($this->never())->method(
'getById');
103 $this->assertTrue($this->model->validate(
$address));
108 $addressCustomer = 100;
109 $customerAddressId = 42;
112 $address->expects($this->atLeastOnce())->method(
'getCustomerId')->willReturn($addressCustomer);
113 $address->expects($this->atLeastOnce())->method(
'getCustomerAddressId')->willReturn($customerAddressId);
114 $customerMock = $this->createMock(\
Magento\Customer\Api\Data\CustomerInterface::class);
117 $this->customerRepositoryMock->expects($this->exactly(2))->method(
'getById')->willReturn($customerMock);
118 $customerMock->expects($this->once())->method(
'getId')->willReturn($addressCustomer);
120 $this->addressRepositoryMock->expects($this->once())->method(
'getById')->willReturn($this->quoteAddressMock);
121 $this->quoteAddressMock->expects($this->any())->method(
'getCustomerId')->willReturn($addressCustomer);
123 $customerMock->expects($this->once())->method(
'getAddresses')->willReturn([
$customerAddress]);
126 $this->assertTrue($this->model->validate(
$address));
testValidateWithValidAddress()
testValidateInvalidAddress()
testValidateInvalidCustomer()