示例#1
0
 public function testStates()
 {
     $object = new \stdClass();
     $object->stateField = null;
     $stateManager = new StateManager();
     $this->assertFalse($stateManager->isInState($object->stateField, self::STATE_REQUIRE_ADDRESS));
     $this->assertFalse($stateManager->isInState($object->stateField, self::STATE_REQUIRE_INFO));
     $stateManager->addState($object, 'stateField', self::STATE_REQUIRE_ADDRESS);
     $this->assertTrue($stateManager->isInState($object->stateField, self::STATE_REQUIRE_ADDRESS));
     $this->assertFalse($stateManager->isInState($object->stateField, self::STATE_REQUIRE_INFO));
     $stateManager->addState($object, 'stateField', self::STATE_REQUIRE_INFO);
     $this->assertTrue($stateManager->isInState($object->stateField, self::STATE_REQUIRE_ADDRESS));
     $this->assertTrue($stateManager->isInState($object->stateField, self::STATE_REQUIRE_INFO));
     $stateManager->removeState($object, 'stateField', self::STATE_REQUIRE_ADDRESS);
     $this->assertFalse($stateManager->isInState($object->stateField, self::STATE_REQUIRE_ADDRESS));
     $this->assertTrue($stateManager->isInState($object->stateField, self::STATE_REQUIRE_INFO));
     $stateManager->removeState($object, 'stateField', self::STATE_REQUIRE_INFO);
     $this->assertFalse($stateManager->isInState($object->stateField, self::STATE_REQUIRE_ADDRESS));
     $this->assertFalse($stateManager->isInState($object->stateField, self::STATE_REQUIRE_INFO));
     $stateManager->addState($object, 'stateField', self::STATE_REQUIRE_ADDRESS | self::STATE_REQUIRE_INFO);
     $this->assertTrue($stateManager->isInState($object->stateField, self::STATE_REQUIRE_ADDRESS));
     $this->assertTrue($stateManager->isInState($object->stateField, self::STATE_REQUIRE_INFO));
     $stateManager->addState($object, 'stateField', self::STATE_REQUIRE_ADDRESS);
     $this->assertTrue($stateManager->isInState($object->stateField, self::STATE_REQUIRE_ADDRESS));
     $this->assertTrue($stateManager->isInState($object->stateField, self::STATE_REQUIRE_INFO));
     $stateManager->removeState($object, 'stateField', self::STATE_REQUIRE_ADDRESS);
     $stateManager->removeState($object, 'stateField', self::STATE_REQUIRE_ADDRESS);
     $this->assertFalse($stateManager->isInState($object->stateField, self::STATE_REQUIRE_ADDRESS));
     $this->assertTrue($stateManager->isInState($object->stateField, self::STATE_REQUIRE_INFO));
 }
示例#2
0
 /**
  * @param Customer $entity
  */
 public function markCustomerForSync(Customer $entity)
 {
     if (!$this->isCustomerRemoved($entity) && !$entity->isGuest()) {
         $this->stateManager->addState($entity, 'syncState', Customer::SYNC_TO_MAGENTO);
     }
 }