public function test_Should_GetAllMailSettings() { $config = <<<EOF MAIL_DRIVER=smtp MAIL_FROM_ADDRESS=from_address@example.com MAIL_FROM_NAME=from_name MAIL_HOST=localhost MAIL_PORT=587 MAIL_ENCRYPTION=tls MAIL_USERNAME=username@example.com MAIL_PASSWORD=password MAIL_SENDMAIL=/usr/sbin/sendmail -bs EOF; $dotenv = vfsStream::newFile('.env')->at($this->rootDir)->setContent($config); $dotenvReader = new DotenvReader(new LaravelFilesystem($this->app['files']), vfsStream::url('rootDir/.env')); $dotenvWriter = new DotenvWriter(new LaravelFilesystem($this->app['files']), vfsStream::url('rootDir/.env')); $configMailSettingRepository = new ConfigMailSetting($dotenvReader, $dotenvWriter); $mailSettings = $configMailSettingRepository->all(); $this->assertEquals('smtp', $mailSettings->getDriver()); $this->assertEquals('*****@*****.**', $mailSettings->getFrom()['address']); $this->assertEquals('from_name', $mailSettings->getFrom()['name']); $this->assertEquals('localhost', $mailSettings->getSmtpHost()); $this->assertEquals(587, $mailSettings->getSmtpPort()); $this->assertEquals('tls', $mailSettings->getSmtpEncryption()); $this->assertEquals('*****@*****.**', $mailSettings->getSmtpUsername()); $this->assertEquals('password', $mailSettings->getSmtpPassword()); $this->assertEquals('/usr/sbin/sendmail -bs', $mailSettings->getSendmailPath()); }