Merge branch 'master' into release

This commit is contained in:
Dan Brown 2017-03-23 22:21:04 +00:00
commit 7fa5405cb7
No known key found for this signature in database
GPG Key ID: 46D9F943C24A2EF9
3 changed files with 29 additions and 2 deletions

View File

@ -1058,7 +1058,7 @@ class EntityRepo
public function restorePageRevision(Page $page, Book $book, $revisionId) public function restorePageRevision(Page $page, Book $book, $revisionId)
{ {
$this->savePageRevision($page); $this->savePageRevision($page);
$revision = $this->getById('page_revision', $revisionId); $revision = $page->revisions()->where('id', '=', $revisionId)->first();
$page->fill($revision->toArray()); $page->fill($revision->toArray());
$page->slug = $this->findSuitableSlug('page', $page->name, $page->id, $book->id); $page->slug = $this->findSuitableSlug('page', $page->name, $page->id, $book->id);
$page->text = strip_tags($page->html); $page->text = strip_tags($page->html);

View File

@ -11,6 +11,6 @@
</div> </div>
<div class="form-group"> <div class="form-group">
<a href="{{ back()->getTargetUrl() }}" class="button muted">{{ trans('common.cancel') }}</a> <a href="{{ isset($book) ? $book->getUrl() : baseUrl('/books') }}" class="button muted">{{ trans('common.cancel') }}</a>
<button type="submit" class="button pos">{{ trans('entities.books_save') }}</button> <button type="submit" class="button pos">{{ trans('entities.books_save') }}</button>
</div> </div>

View File

@ -53,4 +53,31 @@ class PageContentTest extends TestCase
$revisionView->assertSee('new content'); $revisionView->assertSee('new content');
} }
public function test_page_revision_restore_updates_content()
{
$this->asEditor();
$entityRepo = $this->app[EntityRepo::class];
$page = Page::first();
$entityRepo->updatePage($page, $page->book_id, ['name' => 'updated page abc123', 'html' => '<p>new contente def456</p>', 'summary' => 'initial page revision testing']);
$entityRepo->updatePage($page, $page->book_id, ['name' => 'updated page again', 'html' => '<p>new content</p>', 'summary' => 'page revision testing']);
$page = Page::find($page->id);
$pageView = $this->get($page->getUrl());
$pageView->assertDontSee('abc123');
$pageView->assertDontSee('def456');
$revToRestore = $page->revisions()->where('name', 'like', '%abc123')->first();
$restoreReq = $this->get($page->getUrl() . '/revisions/' . $revToRestore->id . '/restore');
$page = Page::find($page->id);
$restoreReq->assertStatus(302);
$restoreReq->assertRedirect($page->getUrl());
$pageView = $this->get($page->getUrl());
$pageView->assertSee('abc123');
$pageView->assertSee('def456');
}
} }