X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/33a2999a57854495fcea8c1acf1b75b04a28a0bf..refs/pull/325/head:/tests/TestCase.php diff --git a/tests/TestCase.php b/tests/TestCase.php index 6b97682e8..d64aef3db 100644 --- a/tests/TestCase.php +++ b/tests/TestCase.php @@ -1,8 +1,56 @@ actingAs($this->getAdmin()); + } + + /** + * Get the current admin user. + * @return mixed + */ + public function getAdmin() { + if($this->admin === null) { + $adminRole = Role::getSystemRole('admin'); + $this->admin = $adminRole->users->first(); + } + return $this->admin; + } + + /** + * Create and return a new book. + * @param array $input + * @return Book + */ + public function newBook($input = ['name' => 'test book', 'description' => 'My new test book']) { + return $this->app[EntityRepo::class]->createFromInput('book', $input, false); + } + + /** + * Create and return a new test chapter + * @param array $input + * @param Book $book + * @return Chapter + */ + public function newChapter($input = ['name' => 'test chapter', 'description' => 'My new test chapter'], Book $book) { + return $this->app[EntityRepo::class]->createFromInput('chapter', $input, $book); + } } \ No newline at end of file