public function testAfterSave() { $addressId = 1; $attributeCode = 'attribute_code'; $defaultShipping = 'default Shipping address'; $object = $this->getMockBuilder('Magento\\Framework\\Object')->disableOriginalConstructor()->setMethods(array('getDefaultShipping', 'getAddresses', 'setDefaultShipping'))->getMock(); $address = $this->getMockBuilder('Magento\\Framework\\Object')->disableOriginalConstructor()->setMethods(array('getPostIndex', 'getId'))->getMock(); $attribute = $this->getMockBuilder('Magento\\Eav\\Model\\Entity\\Attribute\\AbstractAttribute')->setMethods(array('__wakeup', 'getEntity', 'getAttributeCode'))->disableOriginalConstructor()->getMockForAbstractClass(); $entity = $this->getMockBuilder('Magento\\Eav\\Model\\Entity\\AbstractEntity')->setMethods(array('saveAttribute'))->disableOriginalConstructor()->getMockForAbstractClass(); $attribute->expects($this->once())->method('getEntity')->will($this->returnValue($entity)); $attribute->expects($this->once())->method('getAttributeCode')->will($this->returnValue($attributeCode)); $entity->expects($this->once())->method('saveAttribute')->with($this->logicalOr($object, $attributeCode)); $address->expects($this->once())->method('getPostIndex')->will($this->returnValue($defaultShipping)); $address->expects($this->once())->method('getId')->will($this->returnValue($addressId)); $object->expects($this->once())->method('getDefaultShipping')->will($this->returnValue($defaultShipping)); $object->expects($this->once())->method('setDefaultShipping')->with($addressId)->will($this->returnSelf()); $object->expects($this->once())->method('getAddresses')->will($this->returnValue(array($address))); /** @var \Magento\Framework\Object $object */ /** @var \Magento\Eav\Model\Entity\Attribute\AbstractAttribute $attribute */ $this->testable->setAttribute($attribute); $this->testable->afterSave($object); }