diff --git a/resources/views/sala/listar.blade.php b/resources/views/sala/listar.blade.php index e7f728a..7d8b081 100644 --- a/resources/views/sala/listar.blade.php +++ b/resources/views/sala/listar.blade.php @@ -74,7 +74,7 @@ @csrf @method('delete') @if ($sala->reservas->isEmpty()) - diff --git a/tests/Browser/CategoriaCrudTest.php b/tests/Browser/CategoriaCrudTest.php new file mode 100644 index 0000000..d27bf33 --- /dev/null +++ b/tests/Browser/CategoriaCrudTest.php @@ -0,0 +1,46 @@ +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.'); + }); + } +} \ No newline at end of file diff --git a/tests/Browser/ReservaCrudTest.php b/tests/Browser/ReservaCrudTest.php new file mode 100644 index 0000000..cf10327 --- /dev/null +++ b/tests/Browser/ReservaCrudTest.php @@ -0,0 +1,82 @@ +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.'); + }); + } +} diff --git a/tests/Browser/SalasCrudTest.php b/tests/Browser/SalasCrudTest.php new file mode 100644 index 0000000..900a4f7 --- /dev/null +++ b/tests/Browser/SalasCrudTest.php @@ -0,0 +1,68 @@ +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'); + }); + } +}