refactor(ticket): simplify tenant validation and update command documentation

This commit is contained in:
2026-09-03 14:30:38 -03:00
parent 703158bd06
commit c4ff695f2e
4 changed files with 11 additions and 25 deletions

View File

@@ -8,32 +8,23 @@ use App\Domains\Catalog\Models\Category;
use App\Domains\Tenant\Models\Tenant;
use App\Domains\Tenant\Models\WebsiteType;
use App\Domains\Ticket\Models\Ticket;
use App\Domains\Ticket\Services\LoadTestTicketDatasetService;
use Database\Seeders\AuthorizationSeeder;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Support\Facades\Artisan;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Str;
use InvalidArgumentException;
use Tests\TestCase;
class PrepareLoadTestTicketsCommandTest extends TestCase
{
use RefreshDatabase;
public function test_it_rejects_a_tenant_that_is_not_dedicated_to_load_testing(): void
{
$this->expectException(InvalidArgumentException::class);
$this->expectExceptionMessage('loadtest-');
app(LoadTestTicketDatasetService::class)->prepare('production', 1, 1, 1);
}
public function test_it_generates_a_postman_dataset_that_can_scan_the_tickets(): void
{
Storage::fake('local');
$this->seed(AuthorizationSeeder::class);
WebsiteType::query()->create(['codigo' => 'onticket', 'nombre' => 'OnTicket']);
$tenant = $this->createTenant('loadtest-acme');
$tenant = $this->createTenant('acme');
$category = Category::query()->create([
'tenant_code' => $tenant->codigo,
'nombre' => 'Entradas de carga',
@@ -48,7 +39,7 @@ class PrepareLoadTestTicketsCommandTest extends TestCase
'has_tickets' => true,
]);
$this->artisan('load-test:tickets:prepare', [
$exitCode = Artisan::call('load-test:tickets:prepare', [
'tenant' => $tenant->codigo,
'--tickets' => 4,
'--scanners' => 2,
@@ -56,7 +47,9 @@ class PrepareLoadTestTicketsCommandTest extends TestCase
'--catalog-item' => $catalogItem->id,
'--run' => 'test-run',
'--output' => 'load-tests/test-run.postman.json',
])->assertSuccessful();
]);
$this->assertSame(0, $exitCode, Artisan::output());
Storage::disk('local')->assertExists('load-tests/test-run.postman.json');
$rows = json_decode(