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); } }