Merge branch 'v21.04.x'

This commit is contained in:
Dan Brown
2021-05-24 13:08:51 +01:00
6 changed files with 101 additions and 27 deletions

View File

@ -1,6 +1,5 @@
<?php namespace Tests;
use BookStack\Auth\Access\SocialAuthService;
use BookStack\Auth\User;
use BookStack\Entities\Models\Page;
use BookStack\Entities\Tools\PageContent;
@ -149,7 +148,7 @@ class ThemeTest extends TestCase
$this->setSettings(['registration-enabled' => 'true']);
$user = factory(User::class)->make();
$this->post('/register', ['email' => $user->email, 'name' => $user->name, 'password' => 'password']);
$this->post('/register', ['email' => $user->email, 'name' => $user->name, 'password' => 'password']);
$this->assertCount(2, $args);
$this->assertEquals('standard', $args[0]);
@ -184,6 +183,28 @@ class ThemeTest extends TestCase
$loginResp->assertSee('Super Cat Name');
}
public function test_add_social_driver_allows_a_configure_for_redirect_callback_to_be_passed()
{
Theme::addSocialDriver(
'discord',
[
'client_id' => 'abc123',
'client_secret' => 'def456',
'name' => 'Super Cat Name',
],
'SocialiteProviders\Discord\DiscordExtendSocialite@handle',
function ($driver) {
$driver->with(['donkey' => 'donut']);
}
);
$loginResp = $this->get('/login/service/discord');
$redirect = $loginResp->headers->get('location');
$this->assertStringContainsString('donkey=donut', $redirect);
}
protected function usingThemeFolder(callable $callback)
{
// Create a folder and configure a theme

View File

@ -14,7 +14,7 @@ class ImageTest extends TestCase
public function test_image_upload()
{
$page = Page::first();
$page = Page::query()->first();
$admin = $this->getAdmin();
$this->actingAs($admin);
@ -38,7 +38,7 @@ class ImageTest extends TestCase
public function test_image_display_thumbnail_generation_does_not_increase_image_size()
{
$page = Page::first();
$page = Page::query()->first();
$admin = $this->getAdmin();
$this->actingAs($admin);
@ -108,7 +108,7 @@ class ImageTest extends TestCase
public function test_image_usage()
{
$page = Page::first();
$page = Page::query()->first();
$editor = $this->getEditor();
$this->actingAs($editor);
@ -128,7 +128,7 @@ class ImageTest extends TestCase
public function test_php_files_cannot_be_uploaded()
{
$page = Page::first();
$page = Page::query()->first();
$admin = $this->getAdmin();
$this->actingAs($admin);
@ -150,7 +150,7 @@ class ImageTest extends TestCase
public function test_php_like_files_cannot_be_uploaded()
{
$page = Page::first();
$page = Page::query()->first();
$admin = $this->getAdmin();
$this->actingAs($admin);
@ -202,7 +202,7 @@ class ImageTest extends TestCase
];
foreach ($badNames as $name) {
$galleryFile = $this->getTestImage($name);
$page = Page::first();
$page = Page::query()->first();
$badPath = $this->getTestImagePath('gallery', $name);
$this->deleteImage($badPath);
@ -227,7 +227,7 @@ class ImageTest extends TestCase
config()->set('filesystems.images', 'local_secure');
$this->asEditor();
$galleryFile = $this->getTestImage('my-secure-test-upload.png');
$page = Page::first();
$page = Page::query()->first();
$expectedPath = storage_path('uploads/images/gallery/' . Date('Y-m') . '/my-secure-test-upload.png');
$upload = $this->call('POST', '/images/gallery', ['uploaded_to' => $page->id], [], ['file' => $galleryFile], []);
@ -245,7 +245,7 @@ class ImageTest extends TestCase
config()->set('filesystems.images', 'local_secure');
$this->asEditor();
$galleryFile = $this->getTestImage('my-secure-test-upload.png');
$page = Page::first();
$page = Page::query()->first();
$expectedPath = storage_path('uploads/images/gallery/' . Date('Y-m') . '/my-secure-test-upload.png');
$upload = $this->call('POST', '/images/gallery', ['uploaded_to' => $page->id], [], ['file' => $galleryFile], []);
@ -282,7 +282,7 @@ class ImageTest extends TestCase
public function test_image_delete()
{
$page = Page::first();
$page = Page::query()->first();
$this->asAdmin();
$imageName = 'first-image.png';
$relPath = $this->getTestImagePath('gallery', $imageName);
@ -304,7 +304,7 @@ class ImageTest extends TestCase
public function test_image_delete_does_not_delete_similar_images()
{
$page = Page::first();
$page = Page::query()->first();
$this->asAdmin();
$imageName = 'first-image.png';
@ -383,7 +383,7 @@ class ImageTest extends TestCase
public function test_deleted_unused_images()
{
$page = Page::first();
$page = Page::query()->first();
$admin = $this->getAdmin();
$this->actingAs($admin);