예제 #1
0
 private function givenIHaveCreatedAValidRecordForThisTable()
 {
     $generator = new FieldValuesGenerator();
     $data = $generator->getRequiredRandomRecordData($this->table->getFields());
     $this->record = $this->table->createRecord($data);
     $this->thenTheRecordShouldBeValid();
 }
예제 #2
0
 /**
  * @dataProvider provideInsertUpdateDeleteDatabaseAware
  * @param array $database
  * @param string $tableName
  */
 public function testDelete(array $database, $tableName)
 {
     $rm = self::createRecordManager($database);
     $randomGenerator = new FieldValuesGenerator();
     $conn = $rm->getConnection();
     $table = $rm->getTable($tableName);
     $fields = $table->getFields();
     $owningRelations = $table->getReferencedRelationsIndexedByOwningField();
     // build a minimal record and insert - tested by testInsert.
     $data = array();
     foreach ($owningRelations as $fieldName => $relation) {
         if ($randomGenerator->matchType($fields[$fieldName], $randomGenerator::REQUIRED)) {
             $data[$fieldName] = $this->insertRequiredLocalRelationGraph($rm, $relation);
         }
     }
     $data = $randomGenerator->getRequiredRandomRecordData($fields, $data);
     $conn->insert($table, $data);
     $id = $conn->getLastInsertId($tableName);
     $deletedRows = $conn->delete($table, $id);
     $this->assertEquals(1, $deletedRows);
     $record = $table->findByPk($id);
     $this->assertFalse($record);
 }