File manager - Edit - /var/www/html/portal/tests/Feature/EmpresasCadastroTest.php
Back
<?php namespace Tests\Feature; use App\Models\Empresa; use App\Models\Permissao; use App\Models\User; use Tests\TestCase; class EmpresasCadastroTest extends TestCase { private string $testPrefix = 'TEST_AUTO_EMP_'; public function test_index_exige_permissao_gerenciador_de_empresas(): void { $user = $this->actingAsEmpresasAdmin(); $response = $this->get(route('admin.empresas.index')); $response->assertOk(); $response->assertSee(__('Lista de Empresas'), false); } public function test_status_preserva_filtro_q_na_listagem(): void { $this->actingAsEmpresasAdmin(); $empresa = Empresa::query()->where('status', 'ATIVADO')->first(); $this->assertNotNull($empresa, 'É necessário ao menos uma empresa ativa para o teste.'); $response = $this->post(route('admin.empresas.status', $empresa->id), [ 'checkStatus' => 'DESATIVADO', 'page' => 1, 'q' => 'filtro-teste-empresas', ]); $response->assertRedirect(); $this->assertStringContainsString('q=filtro-teste-empresas', $response->headers->get('Location')); $this->assertStringContainsString('page=1', $response->headers->get('Location')); $response->assertSessionHas('success'); $reactivate = $this->post(route('admin.empresas.status', $empresa->id), [ 'checkStatus' => 'ATIVADO', 'page' => 1, 'q' => 'filtro-teste-empresas', ]); $this->assertStringContainsString('q=filtro-teste-empresas', $reactivate->headers->get('Location')); } public function test_verify_rejeita_cnpj_invalido(): void { $this->actingAsEmpresasAdmin(); $response = $this->post(route('admin.empresas.verify'), [ 'cnpj' => '00.000.000/0000-00', ]); $response->assertRedirect(); $response->assertSessionHas('error'); } public function test_create_exibe_formulario(): void { $this->actingAsEmpresasAdmin(); $response = $this->get(route('admin.empresas.create')); $response->assertOk(); $response->assertSee(__('Nova Empresa'), false); $response->assertSee('pmar/js/empresas/form.js', false); } private function actingAsEmpresasAdmin(): User { $user = User::whereHas('permissoes', function ($q) { $q->where('permissao', 'GERENCIADOR_DE_EMPRESAS'); })->first(); if (!$user) { $user = User::whereHas('permissoes', function ($q) { $q->where('permissao', 'SYSADMIN'); })->first(); } $this->assertNotNull($user, 'Usuário com permissão GERENCIADOR_DE_EMPRESAS necessário para testes.'); if (!$user->permissoes()->where('permissao', 'GERENCIADOR_DE_EMPRESAS')->exists()) { Permissao::create([ 'user_id' => $user->id, 'permissao' => 'GERENCIADOR_DE_EMPRESAS', 'visualizar' => 1, 'adicionar' => 1, 'editar' => 1, 'excluir' => 1, ]); } $this->actingAs($user); return $user; } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings