コード例 #1
0
ファイル: PageTest.php プロジェクト: jvelo/datatext
 public function testCreateAndUpdatePage()
 {
     $page = new Page();
     $page->content = "My content";
     $page->setJsonAttribute('metadata', 'title', "My page title");
     $page->setJsonAttribute('metadata', 'tags', ['foo', 'bar']);
     $page->save();
     $page->content = "I've updated my content";
     $page->setJsonAttribute('metadata', 'title', "My page title has changed also");
     $page->setJsonAttribute('metadata', 'tags', ['bar', 'fizz']);
     $page->save();
     $this->assertEquals(1, Page::count());
     $fetchedPage = Page::first();
     $this->assertEquals(2, PageRevision::count());
     $fetchedRevision = PageRevision::orderBy('revision_id', 'DESC')->first();
     $array = $fetchedRevision->attributesToArray();
     $this->logger->info("Attributes", $array);
     $this->logger->info("page_id", [$fetchedRevision->page_id]);
     $this->assertEquals($fetchedRevision->page_id, $fetchedPage->id, "Page id is preserved");
 }
コード例 #2
0
ファイル: PagesTest.php プロジェクト: jvelo/datatext
 public function testCreateAndGetPageWithAssets()
 {
     Shortcodes::register(new Tweet());
     $page = new Page();
     $page->content = "[tweet id=\"20\"]";
     $page->save();
     $this->assertContains("twttr.widgets.createTweet", $page->html_content);
     $this->assertEquals(1, count(Assets::all()));
     $asset = Assets::all()[0];
     $this->assertEquals('script', $asset->getType());
     $this->assertEquals('//platform.twitter.com/widgets.js', $asset->getLocation());
     $page = new Page();
     $page->content = '# datatext';
     $page->save();
     $fetched = Pages::getPage($page->id);
     $this->assertEquals('<h1>datatext</h1>', $fetched['page']['html_content']);
 }