/** * Test that setting the base config works. * * @return void */ public function testSetBaseConfig() { $database = $this->mockDatabase(); $database->method('list_fields')->willReturn(array(array('name' => 'idField', 'type' => 'field'), array('name' => 'lastChanged', 'type' => 'field'), array('name' => 'idField', 'type' => 'index'))); $idGenerator = $this->getMockForAbstractClass('ContaoCommunityAlliance\\DcGeneral\\Data\\IdGeneratorInterface'); $dataProvider = new DefaultDataProvider(); $dataProvider->setBaseConfig(array('source' => 'tl_something', 'database' => $database, 'idProperty' => 'idField', 'timeStampProperty' => 'lastChanged', 'idGenerator' => $idGenerator)); $reflection = new \ReflectionProperty('ContaoCommunityAlliance\\DcGeneral\\Data\\DefaultDataProvider', 'objDatabase'); $reflection->setAccessible(true); $this->assertEquals('tl_something', $dataProvider->getEmptyModel()->getProviderName()); $this->assertEquals($database, $reflection->getValue($dataProvider)); $this->assertEquals('idField', $dataProvider->getIdProperty()); $this->assertEquals('lastChanged', $dataProvider->getTimeStampProperty()); $this->assertSame($idGenerator, $dataProvider->getIdGenerator()); }