public function test_Should_UpdateExistingMailSettings()
{
vfsStream::newFile('.env')->at($this->rootDir);
$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);
$configMailSettingRepository->update(['driver' => 'smtp', 'from_address' => '*****@*****.**', 'from_name' => 'from_name', 'smtp_host' => 'localhost', 'smtp_port' => 587, 'smtp_encryption' => 'tls', 'smtp_username' => '*****@*****.**', 'smtp_password' => 'password', 'sendmail_path' => '/usr/sbin/sendmail -bs']);
$this->assertEquals('smtp', $dotenvReader->getConfig('MAIL_DRIVER'));
$this->assertEquals('*****@*****.**', $dotenvReader->getConfig('MAIL_FROM_ADDRESS'));
$this->assertEquals('from_name', $dotenvReader->getConfig('MAIL_FROM_NAME'));
$this->assertEquals('localhost', $dotenvReader->getConfig('MAIL_HOST'));
$this->assertEquals(587, $dotenvReader->getConfig('MAIL_PORT'));
$this->assertEquals('tls', $dotenvReader->getConfig('MAIL_ENCRYPTION'));
$this->assertEquals('*****@*****.**', $dotenvReader->getConfig('MAIL_USERNAME'));
$this->assertEquals('password', $dotenvReader->getConfig('MAIL_PASSWORD'));
$this->assertEquals('/usr/sbin/sendmail -bs', $dotenvReader->getConfig('MAIL_SENDMAIL'));
}