예제 #1
0
 public function testAfterSave()
 {
     $addressId = 1;
     $attributeCode = 'attribute_code';
     $defaultBilling = 'default billing address';
     $object = $this->getMockBuilder('Magento\\Framework\\Object')->disableOriginalConstructor()->setMethods(array('getDefaultBilling', 'getAddresses', 'setDefaultBilling'))->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($defaultBilling));
     $address->expects($this->once())->method('getId')->will($this->returnValue($addressId));
     $object->expects($this->once())->method('getDefaultBilling')->will($this->returnValue($defaultBilling));
     $object->expects($this->once())->method('setDefaultBilling')->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);
 }