Example #1
0
 /**
  * @covers \SweetORM\EntityManager
  * @covers \SweetORM\EntityManager::getInstance
  * @covers \SweetORM\EntityManager::getEntityStructure
  * @covers \SweetORM\EntityManager::validator
  * @covers \SweetORM\Structure\Indexer\ColumnIndexer
  * @covers \SweetORM\Entity::validator
  * @covers \SweetORM\Structure\EntityStructure
  * @covers \SweetORM\Structure\ValidationManager
  * @covers \SweetORM\Structure\ValidationManager::validator
  * @covers \SweetORM\Structure\Validator\Validator
  * @covers \SweetORM\Structure\Validator\ArrayValidator
  * @covers \SweetORM\Structure\Annotation\Constraint
  * @covers \SweetORM\Database\Query
  */
 public function testArrayFilling()
 {
     $manager = EntityManager::getInstance();
     $manager->clearRegisteredEntities();
     $array1 = array('tests' => 'nope');
     $entity1 = new Category();
     $result1 = Category::validator($array1)->fill($entity1);
     $this->assertInstanceOf(ValidationResult::class, $result1);
     $this->assertFalse($result1->isSuccess());
     $this->assertCount(2, $result1->getErrors());
     $array2 = array('name' => 'Test Category, Filling in.', 'description' => 'Description is filled in!');
     $entity2 = new Category();
     Category::validator($array2)->fill($entity2);
     $this->assertInstanceOf(Category::class, $entity2);
     $this->assertEquals('Test Category, Filling in.', $entity2->name);
     $this->assertEquals('Description is filled in!', $entity2->description);
     $save2 = $entity2->save();
     $this->assertTrue($save2);
     $delete2 = $entity2->delete();
     $this->assertTrue($delete2);
     $entity3 = Category::validator($array2)->create();
     $this->assertInstanceOf(Category::class, $entity3);
     $this->assertEquals('Test Category, Filling in.', $entity3->name);
     $this->assertEquals('Description is filled in!', $entity3->description);
 }