mirror of
https://github.com/BookStackApp/BookStack.git
synced 2025-04-21 05:26:10 +03:00
Fixed tests, applied StyleCI changes
This commit is contained in:
parent
3625f12abe
commit
b5281bc9ca
@ -60,13 +60,13 @@ class WebhookFormatter
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @param callable(string, Model):bool $condition
|
* @param callable(string, Model):bool $condition
|
||||||
* @param callable(Model):void $format
|
* @param callable(Model):void $format
|
||||||
*/
|
*/
|
||||||
public function addModelFormatter(callable $condition, callable $format): void
|
public function addModelFormatter(callable $condition, callable $format): void
|
||||||
{
|
{
|
||||||
$this->modelFormatters[] = [
|
$this->modelFormatters[] = [
|
||||||
'condition' => $condition,
|
'condition' => $condition,
|
||||||
'format' => $format,
|
'format' => $format,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -74,14 +74,14 @@ class WebhookFormatter
|
|||||||
{
|
{
|
||||||
// Load entity owner, creator, updater details
|
// Load entity owner, creator, updater details
|
||||||
$this->addModelFormatter(
|
$this->addModelFormatter(
|
||||||
fn($event, $model) => ($model instanceof Entity),
|
fn ($event, $model) => ($model instanceof Entity),
|
||||||
fn($model) => $model->load(['ownedBy', 'createdBy', 'updatedBy'])
|
fn ($model) => $model->load(['ownedBy', 'createdBy', 'updatedBy'])
|
||||||
);
|
);
|
||||||
|
|
||||||
// Load revision detail for page update and create events
|
// Load revision detail for page update and create events
|
||||||
$this->addModelFormatter(
|
$this->addModelFormatter(
|
||||||
fn($event, $model) => ($model instanceof Page && ($event === ActivityType::PAGE_CREATE || $event === ActivityType::PAGE_UPDATE)),
|
fn ($event, $model) => ($model instanceof Page && ($event === ActivityType::PAGE_CREATE || $event === ActivityType::PAGE_UPDATE)),
|
||||||
fn($model) => $model->load('currentRevision')
|
fn ($model) => $model->load('currentRevision')
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -118,6 +118,7 @@ class WebhookFormatter
|
|||||||
{
|
{
|
||||||
$instance = new static($event, $webhook, $detail, $initiator, $initiatedTime);
|
$instance = new static($event, $webhook, $detail, $initiator, $initiatedTime);
|
||||||
$instance->addDefaultModelFormatters();
|
$instance->addDefaultModelFormatters();
|
||||||
|
|
||||||
return $instance;
|
return $instance;
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -10,7 +10,7 @@ use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
|||||||
/**
|
/**
|
||||||
* Class PageRevision.
|
* Class PageRevision.
|
||||||
*
|
*
|
||||||
* @property mixed $id
|
* @property mixed $id
|
||||||
* @property int $page_id
|
* @property int $page_id
|
||||||
* @property string $slug
|
* @property string $slug
|
||||||
* @property string $book_slug
|
* @property string $book_slug
|
||||||
|
@ -338,7 +338,7 @@ class ImageService
|
|||||||
* can be used (At least when created using binary string data) so we need to do some
|
* can be used (At least when created using binary string data) so we need to do some
|
||||||
* implementation on our side to use the original image data.
|
* implementation on our side to use the original image data.
|
||||||
* Bulk of logic taken from: https://github.com/Intervention/image/blob/b734a4988b2148e7d10364b0609978a88d277536/src/Intervention/Image/Commands/OrientateCommand.php
|
* Bulk of logic taken from: https://github.com/Intervention/image/blob/b734a4988b2148e7d10364b0609978a88d277536/src/Intervention/Image/Commands/OrientateCommand.php
|
||||||
* Copyright (c) Oliver Vogel, MIT License
|
* Copyright (c) Oliver Vogel, MIT License.
|
||||||
*/
|
*/
|
||||||
protected function orientImageToOriginalExif(InterventionImage $image, string $originalData): void
|
protected function orientImageToOriginalExif(InterventionImage $image, string $originalData): void
|
||||||
{
|
{
|
||||||
@ -347,7 +347,8 @@ class ImageService
|
|||||||
}
|
}
|
||||||
|
|
||||||
$stream = Utils::streamFor($originalData)->detach();
|
$stream = Utils::streamFor($originalData)->detach();
|
||||||
$orientation = exif_read_data($stream)['Orientation'] ?? null;
|
$exif = @exif_read_data($stream);
|
||||||
|
$orientation = $exif ? ($exif['Orientation'] ?? null) : null;
|
||||||
|
|
||||||
switch ($orientation) {
|
switch ($orientation) {
|
||||||
case 2:
|
case 2:
|
||||||
|
@ -16,9 +16,9 @@ class WebhookFormatTesting extends TestCase
|
|||||||
public function test_entity_events_show_related_user_info()
|
public function test_entity_events_show_related_user_info()
|
||||||
{
|
{
|
||||||
$events = [
|
$events = [
|
||||||
ActivityType::BOOK_UPDATE => Book::query()->first(),
|
ActivityType::BOOK_UPDATE => Book::query()->first(),
|
||||||
ActivityType::CHAPTER_CREATE => Chapter::query()->first(),
|
ActivityType::CHAPTER_CREATE => Chapter::query()->first(),
|
||||||
ActivityType::PAGE_MOVE => Page::query()->first(),
|
ActivityType::PAGE_MOVE => Page::query()->first(),
|
||||||
];
|
];
|
||||||
|
|
||||||
foreach ($events as $event => $entity) {
|
foreach ($events as $event => $entity) {
|
||||||
@ -47,6 +47,7 @@ class WebhookFormatTesting extends TestCase
|
|||||||
$webhook = Webhook::factory()->make();
|
$webhook = Webhook::factory()->make();
|
||||||
$user = $this->getEditor();
|
$user = $this->getEditor();
|
||||||
$formatter = WebhookFormatter::getDefault($event, $webhook, $detail, $user, time());
|
$formatter = WebhookFormatter::getDefault($event, $webhook, $detail, $user, time());
|
||||||
|
|
||||||
return $formatter->format();
|
return $formatter->format();
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -186,7 +186,7 @@ class ThemeTest extends TestCase
|
|||||||
|
|
||||||
dispatch((new DispatchWebhookJob($webhook, $event, $detail)));
|
dispatch((new DispatchWebhookJob($webhook, $event, $detail)));
|
||||||
|
|
||||||
$this->assertCount(3, $args);
|
$this->assertCount(5, $args);
|
||||||
$this->assertEquals($event, $args[0]);
|
$this->assertEquals($event, $args[0]);
|
||||||
$this->assertEquals($webhook->id, $args[1]->id);
|
$this->assertEquals($webhook->id, $args[1]->id);
|
||||||
$this->assertEquals($detail->id, $args[2]->id);
|
$this->assertEquals($detail->id, $args[2]->id);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user