createOne(); Event::assertDispatched(AnimeCreated::class); }); test('anime deleted event dispatched', function (): void { $anime = Anime::factory()->createOne(); $anime->delete(); Event::assertDispatched(AnimeDeleted::class); }); test('anime restored event dispatched', function (): void { $anime = Anime::factory()->createOne(); $anime->restore(); Event::assertDispatched(AnimeRestored::class); }); test('anime restores quietly', function (): void { $anime = Anime::factory()->createOne(); $anime->restore(); Event::assertNotDispatched(AnimeUpdated::class); }); test('anime updated event dispatched', function (): void { $anime = Anime::factory()->createOne(); $changes = Anime::factory()->makeOne(); $anime->fill($changes->getAttributes()); $anime->save(); Event::assertDispatched(AnimeUpdated::class); }); test('anime updated event embed fields', function (): void { $anime = Anime::factory()->createOne(); $changes = Anime::factory()->makeOne(); $anime->fill($changes->getAttributes()); $anime->save(); Event::assertDispatched(AnimeUpdated::class, function (AnimeUpdated $event): bool { $message = $event->getDiscordMessage(); return filled(Arr::get($message->embed, 'fields')); }); });