@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
namespace Tests\Feature;
|
||||
|
||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||
use Illuminate\Support\Facades\Artisan;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
use Tests\TestCase;
|
||||
|
||||
class DocumentLibrarySchemaCompatibilityTest extends TestCase
|
||||
{
|
||||
use RefreshDatabase;
|
||||
|
||||
public function test_schema_check_accepts_the_complete_library_and_security_schema(): void
|
||||
{
|
||||
$this->assertSame(0, Artisan::call('portal:check-document-library-schema'));
|
||||
$this->assertStringContainsString('Esquema da biblioteca compatível', Artisan::output());
|
||||
}
|
||||
|
||||
public function test_schema_check_rejects_missing_security_columns_without_weakening_queries(): void
|
||||
{
|
||||
Schema::table('portal_resources', fn ($table) => $table->dropColumn('rights_status'));
|
||||
|
||||
$this->assertSame(1, Artisan::call('portal:check-document-library-schema'));
|
||||
$this->assertStringContainsString('portal_resources.rights_status', Artisan::output());
|
||||
$this->assertStringNotContainsString('documents.malware_scan_status', Artisan::output());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user