setEnabled(false); $repo = $this->createMock(MailConfigurationRepository::class); $repo->method('findSingleton')->willReturn($config); $provider = new ImapMailProvider($repo, $this->makeEncryptor(), new NullLogger()); $this->expectException(MailProviderException::class); $provider->listFolders(); } public function testThrowsWhenConfigMissing(): void { $repo = $this->createMock(MailConfigurationRepository::class); $repo->method('findSingleton')->willReturn(null); $provider = new ImapMailProvider($repo, $this->makeEncryptor(), new NullLogger()); $this->expectException(MailProviderException::class); $provider->listFolders(); } private function makeEncryptor(): TokenEncryptor { return new TokenEncryptor(sodium_bin2hex(random_bytes(SODIUM_CRYPTO_SECRETBOX_KEYBYTES))); } }