- $this->app[PermissionService::class]->buildJointPermissionForRole($publicRole);
-
- $chapter = Chapter::first();
- $this->visit($chapter->book->getUrl());
- $this->visit($chapter->getUrl())
- ->click('New Page')
- ->see('New Page')
- ->seePageIs($chapter->getUrl('/create-page'));
-
- $this->submitForm('Continue', [
- 'name' => 'My guest page'
- ])->seePageIs($chapter->book->getUrl('/page/my-guest-page/edit'));
-
- $user = User::getDefault();
- $this->seeInDatabase('pages', [
- 'name' => 'My guest page',
+ user()->clearPermissionCache();
+
+ $chapter = $this->entities->chapter();
+ $resp = $this->get($chapter->getUrl());
+ $resp->assertSee('New Page');
+ $this->withHtml($resp)->assertElementExists('a[href="' . $chapter->getUrl('/create-page') . '"]');
+
+ $resp = $this->get($chapter->getUrl('/create-page'));
+ $resp->assertSee('Continue');
+ $resp->assertSee('Page Name');
+ $this->withHtml($resp)->assertElementExists('form[action="' . $chapter->getUrl('/create-guest-page') . '"]');
+
+ $resp = $this->post($chapter->getUrl('/create-guest-page'), ['name' => 'My guest page']);
+ $resp->assertRedirect($chapter->book->getUrl('/page/my-guest-page/edit'));
+
+ $user = $this->users->guest();
+ $this->assertDatabaseHas('pages', [
+ 'name' => 'My guest page',