Esempio n. 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));
 }
Esempio n. 2
0
 /**
  * @param Address $address
  */
 public function markAddressSynced(Address $address)
 {
     if (!$this->isAddressRemoved($address)) {
         $this->stateManager->removeState($address, 'syncState', Address::SYNC_TO_MAGENTO);
     }
 }