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"); }
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']); }