-<?php namespace Tests;
+<?php
-use Auth;
-use BookStack\Auth\Permissions\PermissionService;
+namespace Tests;
+
+use BookStack\Auth\Permissions\JointPermissionBuilder;
use BookStack\Auth\Permissions\RolePermission;
use BookStack\Auth\Role;
use BookStack\Auth\User;
use BookStack\Entities\Models\Book;
use BookStack\Entities\Models\Chapter;
use BookStack\Entities\Models\Page;
+use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\View;
class PublicActionTest extends TestCase
{
-
public function test_app_not_public()
{
$this->setSettings(['app-public' => 'false']);
public function test_login_link_visible()
{
$this->setSettings(['app-public' => 'true']);
- $this->get('/')->assertElementExists('a[href="'.url('/login').'"]');
+ $resp = $this->get('/');
+ $this->withHtml($resp)->assertElementExists('a[href="' . url('/login') . '"]');
}
public function test_register_link_visible_when_enabled()
foreach (RolePermission::all() as $perm) {
$publicRole->attachPermission($perm);
}
- $this->app[PermissionService::class]->buildJointPermissionForRole($publicRole);
+ $this->app->make(JointPermissionBuilder::class)->rebuildForRole($publicRole);
+ user()->clearPermissionCache();
/** @var Chapter $chapter */
$chapter = Chapter::query()->first();
$resp = $this->get($chapter->getUrl());
$resp->assertSee('New Page');
- $resp->assertElementExists('a[href="'.$chapter->getUrl('/create-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');
- $resp->assertElementExists('form[action="'.$chapter->getUrl('/create-guest-page').'"]');
+ $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 = User::getDefault();
$this->assertDatabaseHas('pages', [
- 'name' => 'My guest page',
+ 'name' => 'My guest page',
'chapter_id' => $chapter->id,
'created_by' => $user->id,
- 'updated_by' => $user->id
+ 'updated_by' => $user->id,
]);
}
$resp = $this->get('/robots.txt');
$resp->assertSee("User-agent: *\nDisallow:");
- $resp->assertDontSee("Disallow: /");
+ $resp->assertDontSee('Disallow: /');
}
public function test_robots_effected_by_setting()
$resp = $this->get('/robots.txt');
$resp->assertSee("User-agent: *\nDisallow:");
- $resp->assertDontSee("Disallow: /");
+ $resp->assertDontSee('Disallow: /');
// Check config overrides app-public setting
config()->set('app.allow_robots', false);
$resp->assertRedirect($book->getUrl());
$this->followRedirects($resp)->assertSee($book->name);
}
-}
\ No newline at end of file
+}