shouldReceive('putAsUser')->andReturnUsing(function ($path, $contents) { $this->assertSame('/usr/local/etc/nginx/nginx.conf', $path); $this->assertContains('include "'.VALET_HOME_PATH.'/Nginx/*"', $contents); })->once(); swap(Filesystem::class, $files); $nginx = resolve(Nginx::class); $nginx->installConfiguration(); } public function test_install_nginx_directories_creates_location_for_site_specific_configuration() { $files = Mockery::mock(Filesystem::class); $files->shouldReceive('isDir')->with(VALET_HOME_PATH.'/Nginx')->andReturn(false); $files->shouldReceive('mkdirAsUser')->with(VALET_HOME_PATH.'/Nginx')->once(); $files->shouldReceive('putAsUser')->with(VALET_HOME_PATH.'/Nginx/.keep', "\n")->once(); swap(Filesystem::class, $files); swap(Configuration::class, $config = Mockery::spy(Configuration::class, ['read' => ['tld' => 'test']])); swap(Site::class, Mockery::spy(Site::class)); $nginx = resolve(Nginx::class); $nginx->installNginxDirectory(); } public function test_nginx_directory_is_never_created_if_it_already_exists() { $files = Mockery::mock(Filesystem::class); $files->shouldReceive('isDir')->with(VALET_HOME_PATH.'/Nginx')->andReturn(true); $files->shouldReceive('mkdirAsUser')->never(); $files->shouldReceive('putAsUser')->with(VALET_HOME_PATH.'/Nginx/.keep', "\n")->once(); swap(Filesystem::class, $files); swap(Configuration::class, $config = Mockery::spy(Configuration::class, ['read' => ['tld' => 'test']])); swap(Site::class, Mockery::spy(Site::class)); $nginx = resolve(Nginx::class); $nginx->installNginxDirectory(); } public function test_install_nginx_directories_rewrites_secure_nginx_files() { $files = Mockery::mock(Filesystem::class); $files->shouldReceive('isDir')->with(VALET_HOME_PATH.'/Nginx')->andReturn(false); $files->shouldReceive('mkdirAsUser')->with(VALET_HOME_PATH.'/Nginx')->once(); $files->shouldReceive('putAsUser')->with(VALET_HOME_PATH.'/Nginx/.keep', "\n")->once(); swap(Filesystem::class, $files); swap(Configuration::class, $config = Mockery::spy(Configuration::class, ['read' => ['tld' => 'test']])); swap(Site::class, $site = Mockery::spy(Site::class)); $nginx = resolve(Nginx::class); $nginx->installNginxDirectory(); $site->shouldHaveReceived('resecureForNewTld', ['test', 'test']); } }