Commit 2e9490fb authored by zYne's avatar zYne

--no commit message

--no commit message
parent 30521a70
...@@ -71,22 +71,66 @@ class Doctrine_Relation_ManyToMany2_TestCase extends Doctrine_UnitTestCase ...@@ -71,22 +71,66 @@ class Doctrine_Relation_ManyToMany2_TestCase extends Doctrine_UnitTestCase
} }
} }
public function testManyToManyJoinsandSave() public function testManyToManyJoinsandSave()
{ {
$q = new Doctrine_Query(); $q = new Doctrine_Query();
$newdata = $q->select('d.*, i.*, u.*, c.*') $newdata = $q->select('d.*, i.*, u.*, c.*')
->from('TestMovie d, d.MovieBookmarks i, i.UserVotes u, u.User c') ->from('TestMovie d, d.MovieBookmarks i, i.UserVotes u, u.User c')
->execute() ->execute()
->getFirst(); ->getFirst();
$newdata['MovieBookmarks'][0]['UserVotes'][0]['User']['name'] = 'user2'; $newdata['MovieBookmarks'][0]['UserVotes'][0]['User']['name'] = 'user2';
try { try {
$newdata->save(); $newdata->save();
$this->pass(); $this->pass();
} catch(Doctrine_Exception $e) { } catch(Doctrine_Exception $e) {
print $e; $this->fail();
$this->fail(); }
} }
}
public function testInitMoreData()
{
$user = new TestUser();
$user->name = 'test user';
$user->save();
$movie = new TestMovie();
$movie->name = 'test movie';
$movie->save();
$movie = new TestMovie();
$movie->name = 'test movie 2';
$movie->save();
$this->conn->clear();
}
public function testManyToManyDirectLinksUpdating()
{
$users = $this->conn->query("FROM TestUser u WHERE u.name = 'test user'");
$this->assertEqual($users->count(), 1);
$movies = $this->conn->query("FROM TestMovie m WHERE m.name IN ('test movie', 'test movie 2')");
$this->assertEqual($movies->count(), 2);
$profiler = new Doctrine_Connection_Profiler();
$this->conn->addListener($profiler);
$this->assertEqual($users[0]->UserBookmarks->count(), 0);
$users[0]->UserBookmarks = $movies;
$this->assertEqual($users[0]->UserBookmarks->count(), 2);
$users[0]->save();
$this->assertEqual($users[0]->UserBookmarks->count(), 2);
/**
foreach ($profiler->getAll() as $event) {
print $event->getQuery() . "<br>";
}
*/
}
} }
class TestUser extends Doctrine_Record class TestUser extends Doctrine_Record
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment