Skip to content
Open
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
2 changes: 1 addition & 1 deletion resources/views/sala/listar.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@
@csrf
@method('delete')
@if ($sala->reservas->isEmpty())
<button type="submit" class="btn btn-danger"
<button data-sala-id="{{ $sala->id }}" type="submit" class="btn btn-danger"
onclick="return confirm('Tem certeza?');">
<i class="fa fa-trash"></i>
</button>
Expand Down
46 changes: 46 additions & 0 deletions tests/Browser/CategoriaCrudTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
<?php

namespace Tests\Browser;

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

class CategoriaCrudTest extends DuskTestCase
{
/**
* A Dusk test example.
*/
public function test_categoria_crud(): void
{
$this->browse(function (Browser $browser) {
$browser->visit('/')
->clickLink('Entrar')
->waitFor('#loginUsuario') # Importante: Espera a página de login carregar
->typeSlowly('loginUsuario', '1111')
->press('Login')
->waitFor('.login_logout_link')
->click('#navbarDropdowniclassfafausercogariahiddentrueiAdministrao') //menu
->pause(1250)
->click('a[href="categorias/create"]')
->pause(1250)
->typeSlowly('nome', 'Prédio da História e Geografia', 100)
->pause(2000)
->press('Enviar')
->pause(2000)
->assertSee('Prédio da História e Geografia');

$browser->click('a[title="Editar"]')
->typeSlowly('nome', 'Prédio da Letras')
->pause(2000)
->press('Enviar')
->assertSee('Prédio da Letras');

$browser->click('button[title="Excluir"]')
->pause(2000)
->acceptDialog()
->pause(2000)
->assertSee('Categoria excluída com sucesso.');
});
}
}
82 changes: 82 additions & 0 deletions tests/Browser/ReservaCrudTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
<?php

namespace Tests\Browser;

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

class ReservaCrudTest extends DuskTestCase
{
/**
* A Dusk test example.
*/
public function test_reserva_crud(): void
{
$this->browse(function (Browser $browser) {
$browser->visit('/')
->clickLink('Entrar')
->waitFor('#loginUsuario') # Importante: Espera a página de login carregar
->typeSlowly('loginUsuario', '1111')
->press('Login')
->waitFor('.login_logout_link')
->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', 'Reserva Teste', 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)
->assertSee('Reserva Teste');

$browser->click('a[title="Editar"]')
->pause(2000)
->typeSlowly('nome', 'Reserva Teste alterada')
->pause(1000)
->press('Enviar')
->pause(5000)
->assertSee('Reserva Teste alterada');

$browser->click('button[title="Excluir"]')
->pause(2000)
->press("Excluir")
->pause(2000)
->assertSee('Reserva excluída com sucesso.');
});
}
}
68 changes: 68 additions & 0 deletions tests/Browser/SalasCrudTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
<?php

namespace Tests\Browser;

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

class SalasCrudTest extends DuskTestCase
{
/**
* A Dusk test example.
*/
public function test_salas_crud(): void
{
$this->browse(function (Browser $browser) {
$browser->visit('/')
->clickLink('Entrar')
->waitFor('#loginUsuario') # Importante: Espera a página de login carregar
->typeSlowly('loginUsuario', '1111')
->press('Login')
->waitFor('.login_logout_link')
->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)
->assertSee('Sala criada com sucesso');

$sala_id = \App\Models\Sala::select('id')->latest()->first();

$browser->click('#navbarDropdowniclassfafausercogariahiddentrueiAdministrao')
->click('a[href="salas/listar"]')
->assertSee('Sala de Informática Teste')
->pause(2000)
->click("a[href='http://salas/salas/{$sala_id->id}/edit']")
->typeSlowly('nome', 'Sala de Informática Teste alterada.')
->press('Enviar')
->assertSee('Sala atualizada com sucesso');

$browser->click('#navbarDropdowniclassfafausercogariahiddentrueiAdministrao')
->click('a[href="salas/listar"]')
->assertSee('Sala de Informática Teste alterada.')
->press("button[data-sala-id='{$sala_id->id}']")
->acceptDialog()
->pause(2000)
->assertSee('Sala excluída com sucesso');
});
}
}
Loading