]> BookStack Code Mirror - bookstack/commitdiff
Organised test files & added page update draft tests
authorDan Brown <redacted>
Sat, 12 Mar 2016 16:31:02 +0000 (16:31 +0000)
committerDan Brown <redacted>
Sat, 12 Mar 2016 16:31:02 +0000 (16:31 +0000)
Also cleaned styling for new autosave ui parts.
Closes #36.

public/uploads/.gitignore [changed mode: 0644->0755]
resources/assets/sass/_header.scss
resources/views/pages/form.blade.php
tests/Entity/EntitySearchTest.php [moved from tests/EntitySearchTest.php with 100% similarity]
tests/Entity/EntityTest.php [moved from tests/EntityTest.php with 100% similarity]
tests/Entity/PageUpdateDraftTest.php [new file with mode: 0644]
tests/Permissions/RestrictionsTest.php [moved from tests/RestrictionsTest.php with 100% similarity]
tests/Permissions/RolesTest.php [moved from tests/RolesTest.php with 100% similarity]

old mode 100644 (file)
new mode 100755 (executable)
index 9384642289458383425a18a0a62735a2e64d9f09..8fed6aef7213ef9316185cb6edd82108d31e3d65 100644 (file)
@@ -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 {
index b8194cda7ccc9e751ea2bef1e240dadf017ad91f..a5beabacf711b6a01373621791ca24660d707197 100644 (file)
                     </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/Entity/PageUpdateDraftTest.php b/tests/Entity/PageUpdateDraftTest.php
new file mode 100644 (file)
index 0000000..d321974
--- /dev/null
@@ -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');
+    }
+
+}