27 private $moduleManager;
32 private $schemaConfig;
43 $this->moduleManager =
$objectManager->get(TestModuleManager::class);
52 public function testSchemaBuilder()
54 $this->cliCommad->install(
55 [
'Magento_TestSetupDeclarationModule1']
57 $dbSchema = $this->schemaConfig->getDeclarationConfig();
58 $schemaTables = $dbSchema->getTables();
59 self::assertArrayHasKey(
'reference_table', $dbSchema->getTables());
60 self::assertArrayHasKey(
'test_table', $dbSchema->getTables());
62 $referenceTable = $schemaTables[
'reference_table'];
66 $primaryKey = $referenceTable->getPrimaryConstraint();
67 $columns = $primaryKey->getColumns();
68 self::assertEquals(
'tinyint_ref', reset(
$columns)->getName());
70 $testTable = $schemaTables[
'test_table'];
74 $timestampColumn = $testTable->getColumnByName(
'timestamp');
75 self::assertEquals(
'CURRENT_TIMESTAMP', $timestampColumn->getOnUpdate());
77 self::assertArrayNotHasKey(
'varbinary_rename', $testTable->getColumns());
82 $foreignKey = $testTable->getConstraintByName(
'TEST_TABLE_TINYINT_REFERENCE_TABLE_TINYINT_REF');
83 self::assertEquals(
'NO ACTION', $foreignKey->getOnDelete());
84 self::assertEquals(
'tinyint_ref', $foreignKey->getReferenceColumn()->getName());
static getObjectManager()