1
0
mirror of https://github.com/laravel/valet.git synced 2026-02-07 17:10:05 +01:00

Fix broken tests

Not really stoked on these fixes but will revisit.
This commit is contained in:
Adam Wathan
2016-08-10 07:34:14 -04:00
parent a54207f7cd
commit 6800e3cb70
3 changed files with 42 additions and 13 deletions

View File

@@ -2,13 +2,12 @@
namespace Valet;
use Configuration as ConfigurationFacade;
use Site as SiteFacade;
class Caddy
{
var $cli;
var $files;
var $configuration;
var $site;
var $daemonPath = '/Library/LaunchDaemons/com.laravel.valetServer.plist';
/**
@@ -17,10 +16,12 @@ class Caddy
* @param CommandLine $cli
* @param Filesystem $files
*/
function __construct(CommandLine $cli, Filesystem $files)
function __construct(CommandLine $cli, Filesystem $files, Configuration $configuration, Site $site)
{
$this->cli = $cli;
$this->files = $files;
$this->configuration = $configuration;
$this->site = $site;
}
/**
@@ -77,8 +78,8 @@ function installCaddyDirectory()
*/
function rewriteSecureCaddyFiles()
{
$domain = ConfigurationFacade::read()['domain'];
SiteFacade::resecureForNewDomain($domain, $domain);
$domain = $this->configuration->read()['domain'];
$this->site->resecureForNewDomain('dev', 'dev');
}
/**

View File

@@ -18,7 +18,7 @@
*/
Container::setInstance(new Container);
$version = '1.1.20';
$version = '1.2.0-alpha';
$app = new Application('Laravel Valet', $version);

View File

@@ -1,7 +1,9 @@
<?php
use Valet\Site;
use Valet\Caddy;
use Valet\Filesystem;
use Valet\Configuration;
use Illuminate\Container\Container;
class CaddyTest extends PHPUnit_Framework_TestCase
@@ -27,9 +29,10 @@ public function test_install_caddy_file_places_stub_in_valet_home_directory()
$files->shouldReceive('putAsUser')->andReturnUsing(function ($path, $contents) {
$this->assertSame(VALET_HOME_PATH.'/Caddyfile', $path);
$this->assertTrue(strpos($contents, 'import '.VALET_HOME_PATH.'/Caddy/*') !== false);
});
})->once();
swap(Filesystem::class, $files);
$caddy = resolve(Caddy::class);
$caddy->installCaddyFile();
}
@@ -39,12 +42,14 @@ public function test_install_caddy_directories_creates_location_for_site_specifi
{
$files = Mockery::mock(Filesystem::class);
$files->shouldReceive('isDir')->with(VALET_HOME_PATH.'/Caddy')->andReturn(false);
$files->shouldReceive('mkdirAsUser')->with(VALET_HOME_PATH.'/Caddy');
$files->shouldReceive('touchAsUser')->with(VALET_HOME_PATH.'/Caddy/.keep');
$files->shouldReceive('mkdirAsUser')->with(VALET_HOME_PATH.'/Caddy')->once();
$files->shouldReceive('touchAsUser')->with(VALET_HOME_PATH.'/Caddy/.keep')->once();
swap(Filesystem::class, $files);
$caddy = resolve(Caddy::class);
swap(Configuration::class, Mockery::spy(Configuration::class));
swap(Site::class, Mockery::spy(Site::class));
$caddy = resolve(Caddy::class);
$caddy->installCaddyDirectory();
}
@@ -57,23 +62,46 @@ public function test_caddy_directory_is_never_created_if_it_already_exists()
$files->shouldReceive('touchAsUser')->with(VALET_HOME_PATH.'/Caddy/.keep');
swap(Filesystem::class, $files);
$caddy = resolve(Caddy::class);
swap(Configuration::class, Mockery::spy(Configuration::class));
swap(Site::class, Mockery::spy(Site::class));
$caddy = resolve(Caddy::class);
$caddy->installCaddyDirectory();
}
public function test_install_caddy_directories_rewrites_secure_caddy_files()
{
$files = Mockery::mock(Filesystem::class);
$files->shouldReceive('isDir')->with(VALET_HOME_PATH.'/Caddy')->andReturn(false);
$files->shouldReceive('mkdirAsUser')->with(VALET_HOME_PATH.'/Caddy');
$files->shouldReceive('touchAsUser')->with(VALET_HOME_PATH.'/Caddy/.keep');
swap(Filesystem::class, $files);
swap(Configuration::class, $config = Mockery::spy(Configuration::class, ['read' => ['domain' => 'dev']]));
swap(Site::class, $site = Mockery::spy(Site::class));
$caddy = resolve(Caddy::class);
$caddy->installCaddyDirectory();
$site->shouldHaveReceived('resecureForNewDomain', ['dev', 'dev']);
}
public function test_caddy_daemon_is_placed_in_correct_location()
{
$files = Mockery::mock(Filesystem::class.'[put]');
swap(Filesystem::class, $files);
swap(Configuration::class, Mockery::spy(Configuration::class));
swap(Site::class, Mockery::spy(Site::class));
$caddy = resolve(Caddy::class);
$files->shouldReceive('put')->andReturnUsing(function ($path, $contents) use ($caddy) {
$this->assertSame($caddy->daemonPath, $path);
$this->assertTrue(strpos($contents, VALET_HOME_PATH) !== false);
});
})->once();
$caddy->installCaddyDaemon();
}