public function testFindNewArticle() { $manager = $this->getContainer()->get('doctrine_phpcr.odm.document_manager'); $article = new Article(); $article->setTitle('Test Article'); $article->setContent('Test Article lipsum'); $manager->persist($article); $manager->flush(); $articleLoader = new ArticleLoader($this->getContainer()->getParameter('kernel.root_dir'), $this->getContainer()->get('doctrine_phpcr.odm.document_manager'), $this->getContainer()->get('doctrine.orm.entity_manager')); $this->assertTrue($articleLoader->isSupported('article')); $this->assertTrue($articleLoader->isSupported('articles')); $this->assertFalse($articleLoader->isSupported('items')); $article = $articleLoader->load('article', ['contentPath' => '/swp/content/test-article']); $this->assertInstanceOf('SWP\\TemplatesSystem\\Gimme\\Meta\\Meta', $article); $this->assertFalse($articleLoader->load('article', ['contentPath' => '/swp/content/test-articles'])); $this->assertFalse($articleLoader->load('article', ['contentPath' => '/swp/content/test-article'], LoaderInterface::COLLECTION)); $article = new Article(); $article->setTitle('Features'); $article->setContent('Features ipsum'); $manager->persist($article); $manager->flush(); $this->assertTrue(count($articleLoader->load('article', ['pageName' => 'News'], LoaderInterface::COLLECTION)) == 1); $this->assertFalse($articleLoader->load('article', ['pageName' => 'Features'], LoaderInterface::COLLECTION)); $this->assertFalse($articleLoader->load('article', null, LoaderInterface::COLLECTION)); }
public function testGenerateUrlFor() { $this->loadFixtureFiles(['@SWPFixturesBundle/DataFixtures/ORM/Test/page.yml', '@SWPFixturesBundle/DataFixtures/ORM/Test/pagecontent.yml']); $this->runCommand('doctrine:phpcr:init:dbal', ['--force' => true, '--env' => 'test'], true); $this->runCommand('doctrine:phpcr:repository:init', ['--env' => 'test'], true); $manager = $this->getContainer()->get('doctrine_phpcr.odm.document_manager'); $article = new Article(); $article->setTitle('Features'); $article->setContent('Features ipsum'); $manager->persist($article); $manager->flush(); $this->assertTrue($article->getTitle() === 'Features'); $contentExtension = new ContentExtension($this->getContainer()->get('doctrine'), $this->getContainer()->get('router')); $articleLoader = $this->getContainer()->get('swp_template_engine.loader.article'); $featuresUrl = $contentExtension->gimmeUrl($articleLoader->load('article', ['contentPath' => '/swp/content/features'])); $this->assertEquals('/news/features', $featuresUrl, 'Should generate url for Features article under News page: /news/features'); $wrongObject = $contentExtension->gimmeUrl([]); $this->assertEquals(false, $wrongObject, 'Should return false when wrong object is passed'); $wrongObject = $contentExtension->gimmeUrl(new Meta($this->getContainer()->getParameter('kernel.root_dir') . '/Resources/meta/article.yml', [])); $this->assertEquals(false, $wrongObject, 'Should return false when meta with vrong values object is passed'); $article = new Article(); $article->setTitle('Contact'); $article->setContent('Contact lipsum '); $manager->persist($article); $manager->flush(); $wrongUrlType = $contentExtension->gimmeUrl($articleLoader->load('article', ['contentPath' => '/swp/content/contact'])); $this->assertFalse($wrongUrlType, 'Should return false for not existing pageArticle'); $article = new Article(); $article->setTitle('Test Article'); $article->setContent('Test Article lipsum '); $manager->persist($article); $manager->flush(); $childPageUrl = $contentExtension->gimmeUrl($articleLoader->load('article', ['contentPath' => '/swp/content/test-article'])); $this->assertEquals('/news/sport/test-article', $childPageUrl, 'Should generate url for Test Article article under Sport page with News as a parent page: /news/sport/test-article'); }
public function testLoadingContainerPageArticle() { $manager = $this->getContainer()->get('doctrine_phpcr.odm.document_manager'); $article = new Article(); $article->setTitle('Features'); $article->setContent('Features ipsum'); $manager->persist($article); $manager->flush(); $this->assertTrue($article->getTitle() === 'Features'); $client = static::createClient(); $crawler = $client->request('GET', '/news/features'); $this->assertEquals(200, $client->getResponse()->getStatusCode()); $this->assertTrue($crawler->filter('html:contains("Features")')->count() === 1); $this->assertTrue($crawler->filter('html:contains("Features ipsum")')->count() === 1); $this->assertTrue($crawler->filter('html:contains("Id: /swp/content/features")')->count() === 1); }