createOne(); Event::assertDispatched(ArtistCreated::class); }); test('artist deleted event dispatched', function (): void { $artist = Artist::factory()->createOne(); $artist->delete(); Event::assertDispatched(ArtistDeleted::class); }); test('artist restored event dispatched', function (): void { $artist = Artist::factory()->createOne(); $artist->restore(); Event::assertDispatched(ArtistRestored::class); }); test('artist restores quietly', function (): void { $artist = Artist::factory()->createOne(); $artist->restore(); Event::assertNotDispatched(ArtistUpdated::class); }); test('artist updated event dispatched', function (): void { $artist = Artist::factory()->createOne(); $changes = Artist::factory()->makeOne(); $artist->fill($changes->getAttributes()); $artist->save(); Event::assertDispatched(ArtistUpdated::class); }); test('artist updated event embed fields', function (): void { $artist = Artist::factory()->createOne(); $changes = Artist::factory()->makeOne(); $artist->fill($changes->getAttributes()); $artist->save(); Event::assertDispatched(ArtistUpdated::class, function (ArtistUpdated $event): bool { $message = $event->getDiscordMessage(); return filled(Arr::get($message->embed, 'fields')); }); });