]> BookStack Code Mirror - bookstack/blobdiff - tests/TestCase.php
Added initial translation into German (formal)
[bookstack] / tests / TestCase.php
index 1b6a69c6276515d0e827fbc264591ad622ea15e8..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();
     }
 
     /**
@@ -65,8 +100,8 @@ class TestCase extends Illuminate\Foundation\Testing\TestCase
         $page = factory(BookStack\Page::class)->create(['created_by' => $creatorUser->id, 'updated_by' => $updaterUser->id, 'book_id' => $book->id]);
         $book->chapters()->saveMany([$chapter]);
         $chapter->pages()->saveMany([$page]);
-        $restrictionService = $this->app[\BookStack\Services\RestrictionService::class];
-        $restrictionService->buildEntityPermissionsForEntity($book);
+        $restrictionService = $this->app[\BookStack\Services\PermissionService::class];
+        $restrictionService->buildJointPermissionsForEntity($book);
         return [
             'book' => $book,
             'chapter' => $chapter,
@@ -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');