private function givenIHaveCreatedAValidRecordForThisTable() { $generator = new FieldValuesGenerator(); $data = $generator->getRequiredRandomRecordData($this->table->getFields()); $this->record = $this->table->createRecord($data); $this->thenTheRecordShouldBeValid(); }
/** * @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); }