public function testAdditionalPropertiesAndUpdate() { \DatabaseManager::generateFakeRecords(); $admin = $this->personRepository->findOne(array('login' => 'admin')); $backend = $this->moduleRepository->findOne(array('name' => 'Backend')); $admin->addPersonFavoriteModuleLink($backend, array('rating' => 50)); $link = $backend->getPersonFavoriteModuleLink($admin); $this->assertEquals(50, $link->getRating()); /** * Move v_start of first row to past */ $now = $this->dbal->fetchNow(); $past = date('Y-m-d H:i:s', strtotime($now) - 60); $this->dbal->update('person_favorite_module_link', array('v_start' => $past), array("1" => "1")); $link->setRating(20); $link->save(); $link = $admin->getPersonFavoriteModuleLink($backend); $this->assertEquals(20, $link->getRating()); $rows = $this->dbal->fetchAll("select * from person_favorite_module_link order by v_end DESC"); $this->assertCount(2, $rows); $this->assertEquals(20, $rows[0]['rating']); $this->assertEquals(50, $rows[1]['rating']); \DatabaseManager::clearTables(); }