public function testGetParentOrCreateExistingParent() { ConcreteContentQuery::create()->deleteAll(); ConcreteArticleQuery::create()->deleteAll(); $content = new ConcreteContent(); $content->save(); $id = $content->getId(); ConcreteContentPeer::clearInstancePool(); $article = new ConcreteArticle(); $article->setId($id); $article->save(); $this->assertEquals($id, $article->getId(), 'getParentOrCreate() keeps manually set pk'); $this->assertEquals(1, ConcreteContentQuery::create()->count(), 'getParentOrCreate() creates no new parent entry'); }
public function testGetParentOrCreateExisting() { $article = new ConcreteArticle(); $article->save(); ConcreteContentPeer::clearInstancePool(); $content = $article->getParentOrCreate(); $this->assertTrue($content instanceof ConcreteContent, 'getParentOrCreate() returns an instance of the parent class'); $this->assertFalse($content->isNew(), 'getParentOrCreate() returns an existing instance of the parent class if the object is persisted'); $this->assertEquals($article->getId(), $content->getId(), 'getParentOrCreate() returns the parent object related to the current object'); }