diff --git a/public/uploads/.gitignore b/public/uploads/.gitignore old mode 100644 new mode 100755 diff --git a/resources/assets/sass/_header.scss b/resources/assets/sass/_header.scss index 938464228..8fed6aef7 100644 --- a/resources/assets/sass/_header.scss +++ b/resources/assets/sass/_header.scss @@ -161,7 +161,7 @@ form.search-box { } } -.faded > span.faded-text { +.faded span.faded-text { display: inline-block; padding: $-s; opacity: 0.5; @@ -189,6 +189,9 @@ form.search-box { padding-left: 0; } } + &.text-center { + text-align: center; + } } .setting-nav { diff --git a/resources/views/pages/form.blade.php b/resources/views/pages/form.blade.php index b8194cda7..a5beabacf 100644 --- a/resources/views/pages/form.blade.php +++ b/resources/views/pages/form.blade.php @@ -14,14 +14,11 @@ </div> </div> <div class="col-sm-4 faded text-center"> - <div class="action-buttons text-center" ng-cloak> - <span class="faded-text" ng-bind="draftText"></span> - <button type="button" ng-if="isDraft" ng-click="discardDraft()" class="text-button text-neg"><i class="zmdi zmdi-close-circle"></i>Discard Draft</button> - </div> + <span class="faded-text" ng-bind="draftText"></span> </div> <div class="col-sm-4 faded"> - <div class="action-buttons"> - + <div class="action-buttons" ng-cloak> + <button type="button" ng-if="isDraft" ng-click="discardDraft()" class="text-button text-neg"><i class="zmdi zmdi-close-circle"></i>Discard Draft</button> <button type="submit" id="save-button" class="text-button text-pos"><i class="zmdi zmdi-floppy"></i>Save Page</button> </div> </div> diff --git a/tests/EntitySearchTest.php b/tests/Entity/EntitySearchTest.php similarity index 100% rename from tests/EntitySearchTest.php rename to tests/Entity/EntitySearchTest.php diff --git a/tests/EntityTest.php b/tests/Entity/EntityTest.php similarity index 100% rename from tests/EntityTest.php rename to tests/Entity/EntityTest.php diff --git a/tests/Entity/PageUpdateDraftTest.php b/tests/Entity/PageUpdateDraftTest.php new file mode 100644 index 000000000..d321974db --- /dev/null +++ b/tests/Entity/PageUpdateDraftTest.php @@ -0,0 +1,62 @@ +<?php + + +class PageUpdateDraftTest extends TestCase +{ + protected $page; + protected $pageRepo; + + public function setUp() + { + parent::setUp(); + $this->page = \BookStack\Page::first(); + $this->pageRepo = app('\BookStack\Repos\PageRepo'); + } + + public function test_draft_content_shows_if_available() + { + $addedContent = '<p>test message content</p>'; + $this->asAdmin()->visit($this->page->getUrl() . '/edit') + ->dontSeeInField('html', $addedContent); + + $newContent = $this->page->html . $addedContent; + $this->pageRepo->saveUpdateDraft($this->page, ['html' => $newContent]); + $this->asAdmin()->visit($this->page->getUrl() . '/edit') + ->seeInField('html', $newContent); + } + + public function test_draft_not_visible_by_others() + { + $addedContent = '<p>test message content</p>'; + $this->asAdmin()->visit($this->page->getUrl() . '/edit') + ->dontSeeInField('html', $addedContent); + + $newContent = $this->page->html . $addedContent; + $newUser = $this->getNewUser(); + $this->pageRepo->saveUpdateDraft($this->page, ['html' => $newContent]); + $this->actingAs($newUser)->visit($this->page->getUrl() . '/edit') + ->dontSeeInField('html', $newContent); + } + + public function test_alert_message_shows_if_editing_draft() + { + $this->asAdmin(); + $this->pageRepo->saveUpdateDraft($this->page, ['html' => 'test content']); + $this->asAdmin()->visit($this->page->getUrl() . '/edit') + ->see('You are currently editing a draft'); + } + + public function test_alert_message_shows_if_someone_else_editing() + { + $addedContent = '<p>test message content</p>'; + $this->asAdmin()->visit($this->page->getUrl() . '/edit') + ->dontSeeInField('html', $addedContent); + + $newContent = $this->page->html . $addedContent; + $newUser = $this->getNewUser(); + $this->pageRepo->saveUpdateDraft($this->page, ['html' => $newContent]); + $this->actingAs($newUser)->visit($this->page->getUrl() . '/edit') + ->see('Admin has started editing this page'); + } + +} diff --git a/tests/RestrictionsTest.php b/tests/Permissions/RestrictionsTest.php similarity index 100% rename from tests/RestrictionsTest.php rename to tests/Permissions/RestrictionsTest.php diff --git a/tests/RolesTest.php b/tests/Permissions/RolesTest.php similarity index 100% rename from tests/RolesTest.php rename to tests/Permissions/RolesTest.php