mirror of
https://github.com/flarum/core.git
synced 2025-08-05 07:57:46 +02:00
perf: speed up post creation time (#3808)
* chore: drop unused visibility checking in notif syncer Signed-off-by: Sami Mazouz <sychocouldy@gmail.com> * perf: eager load parsed mentions Signed-off-by: Sami Mazouz <sychocouldy@gmail.com> * perf: eager load some relations needed for visibility checking Signed-off-by: Sami Mazouz <sychocouldy@gmail.com> * perf: trigger mentions notifications in a queueable job Signed-off-by: Sami Mazouz <sychocouldy@gmail.com> * Apply fixes from StyleCI * fix: broken tag mentions Signed-off-by: Sami Mazouz <sychocouldy@gmail.com> --------- Signed-off-by: Sami Mazouz <sychocouldy@gmail.com> Co-authored-by: StyleCI Bot <bot@styleci.io>
This commit is contained in:
@@ -10,15 +10,11 @@
|
||||
namespace Flarum\Tests\integration\notification;
|
||||
|
||||
use Carbon\Carbon;
|
||||
use Flarum\Api\Serializer\BasicDiscussionSerializer;
|
||||
use Flarum\Api\Serializer\BasicPostSerializer;
|
||||
use Flarum\Database\AbstractModel;
|
||||
use Flarum\Discussion\Discussion;
|
||||
use Flarum\Extend;
|
||||
use Flarum\Notification\Blueprint\BlueprintInterface;
|
||||
use Flarum\Notification\Notification;
|
||||
use Flarum\Notification\NotificationSyncer;
|
||||
use Flarum\Post\Post;
|
||||
use Flarum\Testing\integration\RetrievesAuthorizedUsers;
|
||||
use Flarum\Testing\integration\TestCase;
|
||||
use Flarum\User\User;
|
||||
@@ -50,35 +46,6 @@ class NotificationSyncerTest extends TestCase
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider visibleSubjectsProvider
|
||||
* @param class-string<AbstractModel> $subjectClass
|
||||
* @test
|
||||
*/
|
||||
public function can_receive_notification_for_visible_subjects(string $subjectClass, int $subjectId, string $serializer)
|
||||
{
|
||||
$this->expect_notification_count_from_sending_notification_type_with_subject(
|
||||
2,
|
||||
$subjectClass,
|
||||
$subjectId,
|
||||
$serializer
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider invisibleSubjectsProvider
|
||||
* @test
|
||||
*/
|
||||
public function cannot_receive_notification_for_restricted_subjects(string $subjectClass, int $subjectId, string $serializer)
|
||||
{
|
||||
$this->expect_notification_count_from_sending_notification_type_with_subject(
|
||||
0,
|
||||
$subjectClass,
|
||||
$subjectId,
|
||||
$serializer
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param class-string<AbstractModel> $subjectClass
|
||||
*/
|
||||
@@ -112,23 +79,6 @@ class NotificationSyncerTest extends TestCase
|
||||
->count()
|
||||
);
|
||||
}
|
||||
|
||||
public function visibleSubjectsProvider()
|
||||
{
|
||||
return [
|
||||
[Post::class, 1, BasicPostSerializer::class],
|
||||
[Discussion::class, 1, BasicDiscussionSerializer::class],
|
||||
];
|
||||
}
|
||||
|
||||
public function invisibleSubjectsProvider()
|
||||
{
|
||||
return [
|
||||
[Post::class, 2, BasicPostSerializer::class],
|
||||
[Discussion::class, 2, BasicDiscussionSerializer::class],
|
||||
[Post::class, 3, BasicPostSerializer::class],
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
class CustomNotificationType implements BlueprintInterface
|
||||
|
Reference in New Issue
Block a user