move into sonardesk
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
<?php
|
||||
|
||||
namespace Tests\Feature;
|
||||
|
||||
use App\Models\SonarDeskRelease;
|
||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
use Tests\TestCase;
|
||||
|
||||
final class ReleaseDistributionTest extends TestCase
|
||||
{
|
||||
use RefreshDatabase;
|
||||
|
||||
public function test_download_page_is_public(): void
|
||||
{
|
||||
$this->get('/release')->assertOk()->assertSee('Download SonarDesk');
|
||||
}
|
||||
|
||||
public function test_latest_download_returns_published_package(): void
|
||||
{
|
||||
Storage::fake('local');
|
||||
Storage::disk('local')->put('sonardesk/releases/SonarDesk.dmg', 'package');
|
||||
SonarDeskRelease::create([
|
||||
'version' => '1.2.0', 'build_number' => 120, 'channel' => 'stable',
|
||||
'file_path' => 'sonardesk/releases/SonarDesk.dmg', 'original_filename' => 'SonarDesk-1.2.0.dmg',
|
||||
'file_size' => 7, 'sha256' => hash('sha256', 'package'), 'is_published' => true, 'published_at' => now(),
|
||||
]);
|
||||
$this->get('/download')->assertOk()->assertDownload('SonarDesk-1.2.0.dmg');
|
||||
}
|
||||
|
||||
public function test_draft_release_is_not_downloadable(): void
|
||||
{
|
||||
$release = SonarDeskRelease::create(['version'=>'1.0.0','build_number'=>1,'channel'=>'stable','is_published'=>false]);
|
||||
$this->get('/downloads/'.$release->id)->assertNotFound();
|
||||
}
|
||||
|
||||
public function test_appcast_contains_published_release(): void
|
||||
{
|
||||
SonarDeskRelease::create([
|
||||
'version'=>'2.0.0','build_number'=>200,'channel'=>'stable','file_path'=>'sonardesk/releases/a.dmg',
|
||||
'original_filename'=>'a.dmg','file_size'=>10,'sha256'=>str_repeat('a',64),'is_published'=>true,'published_at'=>now(),
|
||||
]);
|
||||
$this->get('/updates/appcast.xml')->assertOk()->assertSee('SonarDesk 2.0.0')->assertSee('sparkle:version', false);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user