]> BookStack Code Mirror - bookstack/blobdiff - tests/TestCase.php
Added initial translation into German (formal)
[bookstack] / tests / TestCase.php
index 5d0545b6633ba5b459a9c604f2a5781e44f6954b..d3620eae0b9d1d985d8baaa988ca69c49c52a5f8 100644 (file)
@@ -14,7 +14,10 @@ class TestCase extends Illuminate\Foundation\Testing\TestCase
      * @var string
      */
     protected $baseUrl = 'http://localhost';
+
+    // Local user instances
     private $admin;
+    private $editor;
 
     /**
      * Creates the application.
@@ -30,13 +33,45 @@ class TestCase extends Illuminate\Foundation\Testing\TestCase
         return $app;
     }
 
+    /**
+     * Set the current user context to be an admin.
+     * @return $this
+     */
     public function asAdmin()
     {
+        return $this->actingAs($this->getAdmin());
+    }
+
+    /**
+     * Get the current admin user.
+     * @return mixed
+     */
+    public function getAdmin() {
         if($this->admin === null) {
             $adminRole = \BookStack\Role::getRole('admin');
             $this->admin = $adminRole->users->first();
         }
-        return $this->actingAs($this->admin);
+        return $this->admin;
+    }
+
+    /**
+     * Set the current editor context to be an editor.
+     * @return $this
+     */
+    public function asEditor()
+    {
+        if($this->editor === null) {
+            $this->editor = $this->getEditor();
+        }
+        return $this->actingAs($this->editor);
+    }
+
+    /**
+     * Get a user that's not a system user such as the guest user.
+     */
+    public function getNormalUser()
+    {
+        return \BookStack\User::where('system_name', '=', null)->get()->last();
     }
 
     /**
@@ -79,7 +114,7 @@ class TestCase extends Illuminate\Foundation\Testing\TestCase
      * @param array $attributes
      * @return mixed
      */
-    protected function getNewUser($attributes = [])
+    protected function getEditor($attributes = [])
     {
         $user = factory(\BookStack\User::class)->create($attributes);
         $role = \BookStack\Role::getRole('editor');