Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .env.testing.example
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ DB_DATABASE=salas_dusk
DB_USERNAME=admin
DB_PASSWORD=admin


# Filas
QUEUE_CONNECTION=sync

Expand Down
16 changes: 13 additions & 3 deletions app/Http/Controllers/CategoriaController.php
Original file line number Diff line number Diff line change
Expand Up @@ -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', [
Expand Down
81 changes: 81 additions & 0 deletions tests/Browser/ReservaBasicaTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
<?php

namespace Tests\Browser;

use Illuminate\Foundation\Testing\DatabaseMigrations;
use Laravel\Dusk\Browser;
use Tests\DuskTestCase;
use App\Helpers\UspdevDuskTrait;

class ReservaBasicaTest extends DuskTestCase
{
use UspdevDuskTrait;
/**
* A Dusk test example.
*/

protected function setUp(): void
{
parent::setUp();
$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
{
//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, 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)
->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);
});
}
}
Loading