create(); Event::assertDispatched(SettingCreated::class); } /** * When a Setting is deleted, a SettingDeleted event shall be dispatched. * * @return void */ public function testSettingDeletedEventDispatched(): void { $setting = Setting::factory()->create(); $setting->delete(); Event::assertDispatched(SettingDeleted::class); } /** * When a Setting is updated, a SettingUpdated event shall be dispatched. * * @return void */ public function testSettingUpdatedEventDispatched(): void { $setting = Setting::factory()->createOne(); $changes = Setting::factory()->makeOne(); $setting->fill($changes->getAttributes()); $setting->save(); Event::assertDispatched(SettingUpdated::class); } /** * The SettingUpdated event shall contain embed fields. * * @return void */ public function testSettingUpdatedEventEmbedFields(): void { $setting = Setting::factory()->createOne(); $changes = Setting::factory()->makeOne(); $setting->fill($changes->getAttributes()); $setting->save(); Event::assertDispatched(SettingUpdated::class, function (SettingUpdated $event) { $message = $event->getDiscordMessage(); return ! empty(Arr::get($message->embed, 'fields')); }); } }