Server : Apache System : Linux 145.162.205.92.host.secureserver.net 5.14.0-611.45.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Apr 1 05:56:53 EDT 2026 x86_64 User : tradze ( 1001) PHP Version : 8.1.34 Disable Function : NONE Directory : /home/tradze/public_html/vendor/cviebrock/eloquent-sluggable/tests/ |
<?php namespace Cviebrock\EloquentSluggable\Tests;
use Cviebrock\EloquentSluggable\Tests\Listeners\AbortSlugging;
use Cviebrock\EloquentSluggable\Tests\Listeners\DoNotAbortSlugging;
use Cviebrock\EloquentSluggable\Tests\Models\Post;
use Illuminate\Support\Facades\Event;
/**
* Class EventTests
*
* @package Tests
*/
class EventTests extends TestCase
{
/**
* Test that the "slugging" event is fired.
*/
public function testEventsAreFired(): void
{
Event::fake([
'eloquent.slugging: ' . Post::class,
'eloquent.slugged: ' . Post::class,
]);
Post::create([
'title' => 'My Test Post'
]);
Event::assertDispatched('eloquent.slugging: ' . Post::class);
Event::assertDispatched('eloquent.slugged: ' . Post::class);
}
/**
* Test that the "slugging" event can be cancelled.
*/
public function testDoNotCancelSluggingEventWhenItReturnsAnythingOtherThanFalse(): void
{
Event::fake([
'eloquent.slugged: ' . Post::class,
]);
$this->app['events']->listen('eloquent.slugging: ' . Post::class, DoNotAbortSlugging::class);
$post = Post::create([
'title' => 'My Test Post'
]);
self::assertEquals('my-test-post', $post->slug);
Event::assertDispatched('eloquent.slugged: ' . Post::class);
}
public function testCancelSluggingEvent(): void
{
Event::fake([
'eloquent.slugged: ' . Post::class,
]);
$this->app['events']->listen('eloquent.slugging: ' . Post::class, AbortSlugging::class);
$post = Post::create([
'title' => 'My Test Post'
]);
self::assertEquals(null, $post->slug);
Event::assertNotDispatched('eloquent.slugged: ' . Post::class);
}
}