set('newsletter.sync.enabled', false); config()->set('newsletter.sync.provider', 'placeholder'); expect(app(NewsletterSyncClient::class))->toBeInstanceOf(NullNewsletterSyncClient::class); }); test('newsletter sync resolves to the null client for the placeholder provider even when enabled', function () { config()->set('newsletter.sync.enabled', true); config()->set('newsletter.sync.provider', 'placeholder'); expect(app(NewsletterSyncClient::class))->toBeInstanceOf(NullNewsletterSyncClient::class); }); test('an enabled but unimplemented sync provider fails fast instead of silently doing nothing', function () { config()->set('newsletter.sync.enabled', true); config()->set('newsletter.sync.provider', 'mailchimp'); expect(fn () => app(NewsletterSyncClient::class)) ->toThrow(RuntimeException::class, 'mailchimp'); });