mirror of
https://github.com/vitodeploy/vito.git
synced 2025-04-20 02:11:36 +00:00
114 lines
2.9 KiB
PHP
114 lines
2.9 KiB
PHP
<?php
|
|
|
|
namespace Tests\Feature\Http;
|
|
|
|
use App\Http\Livewire\Application\AutoDeployment;
|
|
use App\Http\Livewire\Application\ChangeBranch;
|
|
use App\Http\Livewire\Application\Deploy;
|
|
use App\Http\Livewire\Application\DeploymentScript;
|
|
use App\Http\Livewire\Application\LaravelApp;
|
|
use App\Jobs\Site\UpdateBranch;
|
|
use App\Models\GitHook;
|
|
use Illuminate\Foundation\Testing\RefreshDatabase;
|
|
use Illuminate\Support\Facades\Bus;
|
|
use Illuminate\Support\Facades\Http;
|
|
use Livewire\Livewire;
|
|
use Tests\TestCase;
|
|
|
|
class ApplicationTest extends TestCase
|
|
{
|
|
use RefreshDatabase;
|
|
|
|
public function test_visit_application()
|
|
{
|
|
$this->actingAs($this->user);
|
|
|
|
$this->get(
|
|
route('servers.sites.show', [
|
|
'server' => $this->server,
|
|
'site' => $this->site,
|
|
])
|
|
)
|
|
->assertOk()
|
|
->assertSeeLivewire(LaravelApp::class);
|
|
}
|
|
|
|
public function test_update_deployment_script()
|
|
{
|
|
$this->actingAs($this->user);
|
|
|
|
Livewire::test(Deploy::class, ['site' => $this->site])
|
|
->assertDontSeeText('Deploy');
|
|
|
|
Livewire::test(DeploymentScript::class, ['site' => $this->site])
|
|
->set('script', 'some script')
|
|
->call('save')
|
|
->assertSuccessful();
|
|
|
|
$this->assertDatabaseHas('deployment_scripts', [
|
|
'site_id' => $this->site->id,
|
|
'content' => 'some script',
|
|
]);
|
|
|
|
$this->site->refresh();
|
|
|
|
Livewire::test(Deploy::class, ['site' => $this->site])
|
|
->assertSeeText('Deploy');
|
|
}
|
|
|
|
public function test_change_branch()
|
|
{
|
|
Bus::fake();
|
|
|
|
$this->actingAs($this->user);
|
|
|
|
Livewire::test(ChangeBranch::class, ['site' => $this->site])
|
|
->set('branch', 'master')
|
|
->call('change')
|
|
->assertSuccessful();
|
|
|
|
Bus::assertDispatched(UpdateBranch::class);
|
|
}
|
|
|
|
public function test_enable_auto_deployment()
|
|
{
|
|
Http::fake([
|
|
'github.com/*' => Http::response([
|
|
'id' => '123',
|
|
], 201),
|
|
]);
|
|
|
|
$this->actingAs($this->user);
|
|
|
|
Livewire::test(AutoDeployment::class, ['site' => $this->site])
|
|
->call('enable')
|
|
->assertSuccessful();
|
|
|
|
$this->site->refresh();
|
|
|
|
$this->assertTrue($this->site->auto_deployment);
|
|
}
|
|
|
|
public function test_disable_auto_deployment()
|
|
{
|
|
Http::fake([
|
|
'github.com/*' => Http::response([], 204),
|
|
]);
|
|
|
|
$this->actingAs($this->user);
|
|
|
|
GitHook::factory()->create([
|
|
'site_id' => $this->site->id,
|
|
'source_control_id' => $this->site->source_control_id,
|
|
]);
|
|
|
|
Livewire::test(AutoDeployment::class, ['site' => $this->site])
|
|
->call('disable')
|
|
->assertSuccessful();
|
|
|
|
$this->site->refresh();
|
|
|
|
$this->assertFalse($this->site->auto_deployment);
|
|
}
|
|
}
|