/**
  * Test if table is updated properly.
  */
 public function testUpdateTable()
 {
     $schemaManager = $this->getConnection()->getSchemaManager();
     $tableManager = new TableManager($this->getConnection(), 'jobs_test', ['shop1', 'shop2', 'shop3']);
     $this->importData('TableManagerTest/tableOutdated.sql');
     $tableManager->updateTable();
     $updatedTable = $schemaManager->listTableDetails('jobs_test');
     $schemaManager->dropTable('jobs_test');
     $this->importData('TableManagerTest/tableMultiple.sql');
     $this->compareTable($schemaManager->listTableDetails('jobs_test'), $updatedTable);
 }
 /**
  * Test for updateTable() with a custom connection provided.
  */
 public function testUpdateTableCustomConnection()
 {
     /** @var Connection|MockObject $defaultConnection */
     $defaultConnection = $this->getMockBuilder('Doctrine\\DBAL\\Connection')->disableOriginalConstructor()->getMock();
     $defaultConnection->expects($this->never())->method('getSchemaManager');
     $schemaManager = $this->getMockBuilder('Doctrine\\DBAL\\Schema\\AbstractSchemaManager')->disableOriginalConstructor()->setMethods(get_class_methods('Doctrine\\DBAL\\Schema\\AbstractSchemaManager'))->getMockForAbstractClass();
     $schemaManager->expects($this->once())->method('tablesExist')->willReturn(true);
     $schemaManager->expects($this->once())->method('listTableDetails')->willReturn(new Table('any_table'));
     $schemaManager->expects($this->once())->method('alterTable');
     /** @var Connection|MockObject $customConnection */
     $customConnection = $this->getMockBuilder('Doctrine\\DBAL\\Connection')->disableOriginalConstructor()->getMock();
     $customConnection->expects($this->once())->method('getSchemaManager')->willReturn($schemaManager);
     $manager = new TableManager($defaultConnection);
     $this->assertTrue($manager->updateTable($customConnection));
 }