From 3d07cc9c28faf6b113540a3c0cb3038b2093f7cf Mon Sep 17 00:00:00 2001 From: Raphael Date: Fri, 13 Mar 2026 11:04:47 -0300 Subject: [PATCH 1/3] =?UTF-8?q?inicando=20teste=20para=20reserva=20b=C3=A1?= =?UTF-8?q?isca?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/Browser/ReservaBasicaTest.php | 38 +++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 tests/Browser/ReservaBasicaTest.php diff --git a/tests/Browser/ReservaBasicaTest.php b/tests/Browser/ReservaBasicaTest.php new file mode 100644 index 0000000..af5f496 --- /dev/null +++ b/tests/Browser/ReservaBasicaTest.php @@ -0,0 +1,38 @@ +setupAdminAndUser(); // cria usuários $this->commonUser e $this->adminUser + } + + public function testReservaBasica(): void + { + //descrever o que o teste faz. passo a passo... + //este teste não pode depender do replicado + // Login com usuário admin + $this->browse(function (Browser $browser) { + $browser->visit('/loginlocal') + ->typeSlowly('email', $this->adminUser->email) + ->typeSlowly('password', 'password') + ->press('Entrar') + ->pause(2000) + ->visit('/categorias/create') + ->pause(2000); + }); + } +} From 24cb380fa692de5f2f1d1087917cddb47f148754 Mon Sep 17 00:00:00 2001 From: Raphael Date: Mon, 16 Mar 2026 16:45:02 -0300 Subject: [PATCH 2/3] =?UTF-8?q?Dusk=20para=20reserva=20b=C3=A1sica?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.testing.example | 5 +- app/Http/Controllers/CategoriaController.php | 16 ++++-- tests/Browser/ReservaBasicaTest.php | 55 +++++++++++++++++--- 3 files changed, 65 insertions(+), 11 deletions(-) diff --git a/.env.testing.example b/.env.testing.example index 6b3625e..17547dc 100644 --- a/.env.testing.example +++ b/.env.testing.example @@ -10,8 +10,9 @@ DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=salas_dusk -DB_USERNAME=admin -DB_PASSWORD=admin +DB_USERNAME= +DB_PASSWORD= + # Filas QUEUE_CONNECTION=sync diff --git a/app/Http/Controllers/CategoriaController.php b/app/Http/Controllers/CategoriaController.php index 2494fc1..e16184d 100644 --- a/app/Http/Controllers/CategoriaController.php +++ b/app/Http/Controllers/CategoriaController.php @@ -59,9 +59,19 @@ public function store(CategoriaRequest $request) */ public function show(Categoria $categoria) { - $sigla_unidade = ReplicadoUtils::dumpUnidade(config('salas.codUnidade'), ['sglund']); - - $setores = Estrutura::listarSetores(config('codUnidade')); + //Criação de dados para que testes dusk não dependam do replicado + $sigla_unidade = env('REPLICADO_CODUNDCLG') + ? ReplicadoUtils::dumpUnidade(config('salas.codUnidade'), ['sglund']) + : [0 =>['sglund' => 'FFLCH2']]; + + $setores = env('REPLICADO_CODUNDCLG') + ? Estrutura::listarSetores(config('codUnidade')) + : [0 => ['nomset' => 'nome setor', + 'codset' => 'codigo setor', + 'nomabvset' => 'nomabvset', + 'tipset' => 'Unidade', + 'codsetspe' => 0] + ]; \UspTheme::activeUrl('categorias'); return view('categoria.show', [ diff --git a/tests/Browser/ReservaBasicaTest.php b/tests/Browser/ReservaBasicaTest.php index af5f496..7885f3b 100644 --- a/tests/Browser/ReservaBasicaTest.php +++ b/tests/Browser/ReservaBasicaTest.php @@ -20,19 +20,62 @@ protected function setUp(): void $this->setupAdminAndUser(); // cria usuários $this->commonUser e $this->adminUser } + /*Teste para criar uma reserva básica: + - 1. Criar uma Categoria (Prédio); + - 2. Criar Sala dentro de uma categoria; + - 3. Cadastrar Reserva contendo a sala; + */ public function testReservaBasica(): void { - //descrever o que o teste faz. passo a passo... - //este teste não pode depender do replicado - // Login com usuário admin + //1. Login como admin e criação de uma categoria (prédio) $this->browse(function (Browser $browser) { $browser->visit('/loginlocal') - ->typeSlowly('email', $this->adminUser->email) - ->typeSlowly('password', 'password') + ->typeSlowly('email', $this->adminUser->email, 30) + ->typeSlowly('password', 'password', 30) ->press('Entrar') + ->pause(1000) + ->click('#navbarDropdowniclassfafausercogariahiddentrueiAdministrao') //menu + ->pause(1250) + ->click('a[href="categorias/create"]') + ->pause(1250) + ->typeSlowly('nome','Prédio da Administração', 100) ->pause(2000) - ->visit('/categorias/create') + ->press('Enviar') ->pause(2000); + + /*Buscando no banco de dados a categoria que acabou de ser criada.*/ + $categoria_id = \App\Models\Categoria::select('id')->latest()->first(); + + //2. Após a criação da categoria, cria-se uma sala com ela. + $browser->click('#navbarDropdowniclassfafausercogariahiddentrueiAdministrao') //menu + ->pause(1850) + ->click('a[href="salas/create"]') + ->pause(1250) + ->typeSlowly('nome','Sala de Informática Teste', 100) + ->typeSlowly('capacidade','123', 150) + ->select('categoria_id', $categoria_id->id) //Selecionando o ID da cat. criada + ->pause(2300) + ->press('Enviar') + ->pause(2300); + + $sala_id = \App\Models\Sala::select('id')->latest()->first(); + + //3. Por fim, cria-se uma reserva inserindo a sala que desejamos. + $browser->click('a[href="/reservas/create"]') + ->pause(1500) + ->typeSlowly('nome','Reunião DUSK STI', 100) + ->typeSlowly('data',now()->format('d/m/Y'), 50) + ->typeSlowly('horario_inicio','8:00', 50) + ->typeSlowly('horario_fim','10:00', 50) + ->pause(1000) + ->select('sala_id',$sala_id->id) + ->pause(2000) + ->clickAtXPath('//body') //clica fora do "calendário" + ->pause(1000) + ->radio('rep_bool','Não') + ->pause(2000) + ->press('Enviar') + ->pause(5000); }); } } From 8093c003d78a2a9a021963a3172982a05621a15f Mon Sep 17 00:00:00 2001 From: Raphael Date: Mon, 16 Mar 2026 16:47:40 -0300 Subject: [PATCH 3/3] =?UTF-8?q?pequena=20altera=C3=A7=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.testing.example | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.env.testing.example b/.env.testing.example index 17547dc..e641519 100644 --- a/.env.testing.example +++ b/.env.testing.example @@ -10,8 +10,8 @@ DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=salas_dusk -DB_USERNAME= -DB_PASSWORD= +DB_USERNAME=admin +DB_PASSWORD=admin # Filas