Exemplo n.º 1
0
 public function testSetterOneToManyReplacesOldObjectsByNewObjectsWithFkRequired()
 {
     // Ensure no data
     BookSummaryQuery::create()->deleteAll();
     BookQuery::create()->deleteAll();
     $bookSummaries = new ObjectCollection();
     foreach (array('foo', 'bar') as $summary) {
         $s = new BookSummary();
         $s->setSummary($summary);
         $bookSummaries[] = $s;
     }
     $b = new Book();
     $b->setTitle('Hello');
     $b->setBookSummaries($bookSummaries);
     $b->save();
     $bookSummaries = $b->getBookSummaries();
     $this->assertEquals('foo', $bookSummaries[0]->getSummary());
     $this->assertEquals('bar', $bookSummaries[1]->getSummary());
     $bookSummaries = new ObjectCollection();
     foreach (array('bam', 'bom') as $summary) {
         $s = new BookSummary();
         $s->setSummary($summary);
         $bookSummaries[] = $s;
     }
     $b->setBookSummaries($bookSummaries);
     $b->save();
     $bookSummaries = $b->getBookSummaries();
     $this->assertEquals('bam', $bookSummaries[0]->getSummary());
     $this->assertEquals('bom', $bookSummaries[1]->getSummary());
     $this->assertEquals(1, BookQuery::create()->count());
     $this->assertEquals(2, BookSummaryQuery::create()->count());
 }