public function testRemoveObjectOneToManyWithFkRequired() { BookSummaryQuery::create()->deleteAll(); BookQuery::create()->deleteAll(); $bookSummary = new BookSummary(); $bookSummary->setSummary('summary Propel Book'); $bookSummary2 = new BookSummary(); $bookSummary2->setSummary('summary2 Propel Book'); $book = new Book(); $book->setTitle('Propel Book'); $book->setISBN('01234'); $book->addBookSummary($bookSummary); $book->addBookSummary($bookSummary2); $this->assertCount(2, $book->getBookSummaries()); $book->removeBookSummary($bookSummary); $bookSummaries = $book->getBookSummaries(); $this->assertCount(1, $bookSummaries); $this->assertEquals('summary2 Propel Book', $bookSummaries->getFirst()->getSummary()); $book->save(); $bookSummary2->save(); $this->assertEquals(1, BookQuery::create()->count(), 'One Book'); $this->assertEquals(1, BookSummaryQuery::create()->count(), 'One Summary'); $this->assertEquals(1, BookSummaryQuery::create()->filterBySummarizedBook($book)->count()); $book->addBookSummary($bookSummary); $bookSummary->save(); $book->save(); $this->assertEquals(2, BookSummaryQuery::create()->filterBySummarizedBook($book)->count()); $book->removeBookSummary($bookSummary2); $book->save(); $this->assertEquals(1, BookSummaryQuery::create()->filterBySummarizedBook($book)->count()); $this->assertEquals(1, BookSummaryQuery::create()->count(), 'One Book summary because FK is required so book summary is deleted when book is saved'); }