diff --git a/docker-compose.yml b/docker-compose.yml index 41a0862..ba7fee4 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -51,13 +51,13 @@ services: - auth.local cups: - image: olbat/cupsd:latest + image: olbat/cupsd:stable-2026-08-03 container_name: impressoras_cups ports: - '8631:631' environment: - - CUPS_ADMIN=admin - - CUPS_PASSWORD=admin + - CUPS_ADMIN=print + - CUPS_PASSWORD=print networks: - impressoras-network diff --git a/tests/Browser/RegraCrudTest.php b/tests/Browser/RegraCrudTest.php index 28eb1b1..0220607 100644 --- a/tests/Browser/RegraCrudTest.php +++ b/tests/Browser/RegraCrudTest.php @@ -3,6 +3,7 @@ namespace Tests\Browser; use Illuminate\Foundation\Testing\DatabaseMigrations; +use Illuminate\Foundation\Testing\DatabaseTruncation; use Laravel\Dusk\Browser; use Tests\DuskTestCase; @@ -11,18 +12,62 @@ class RegraCrudTest extends DuskTestCase /** * Método para fazer o Crud Completo */ + use DatabaseTruncation; // zera banco de dados public function test_crud_regras() { $this->browse(function (Browser $browser) { + // Login como admin $browser->visit('/') ->clickLink('Entrar') ->waitFor('#loginUsuario') # Importante: Espera a página de login carregar ->typeSlowly('loginUsuario', '1111') ->press('Login') - ->waitFor('.login_logout_link') # Importante: Espera a página de retornada carregar + ->waitForText('Regras', 5) ->assertSee('Regras') - # Alan vai Implementat CRUD de regras ->clickLink('Regras'); + + // CREATE + $browser->assertSee('Adicionar regra') + ->clickLink('Adicionar regra') + ->waitFor('input[name=name]') + ->type('name', 'Regra Teste Dusk') + ->radio('queue_control', '0') + ->select('quota_period', 'Mensal') + ->type('quota', '100') + ->select('quota_type', 'Páginas') + ->press('Enviar') + ->waitForLocation('/rules') + ->assertSee('Regra Teste Dusk'); + + // READ (show) + $browser->clickLink('Regra') + ->waitForText('Regra Teste Dusk') + ->assertSee('Regra Teste Dusk') + ->assertSee('Mensal') + ->assertSee('100') + ->assertSee('Páginas'); + + // UPDATE + $browser->visit('/rules') + ->waitForText('Regra Teste Dusk') + ->click('a[href*="/rules/"][href$="/edit"]') + ->waitFor('input[name=name]') + ->clear('name') + ->type('name', 'Regra Teste Dusk Editada') + ->clear('quota') + ->type('quota', '200') + ->press('Enviar') + ->waitForLocation('/rules') + ->assertSee('Regra Teste Dusk Editada') + ->assertSee('200'); + + // DELETE + $browser->visit('/rules') + ->waitForText('Regra Teste Dusk Editada') + ->click('#actions button[type=submit]') + ->acceptDialog() + ->waitUntilMissingText('Regra Teste Dusk Editada') + ->assertDontSee('Regra Teste Dusk Editada'); }); } } diff --git a/tests/DuskTestCase.php b/tests/DuskTestCase.php index f171a54..88197ca 100644 --- a/tests/DuskTestCase.php +++ b/tests/DuskTestCase.php @@ -19,9 +19,9 @@ abstract class DuskTestCase extends BaseTestCase #[BeforeClass] public static function prepare(): void { - if (! static::runningInSail()) { - static::startChromeDriver(['--port=9515']); - } + // if (! static::runningInSail()) { + // static::startChromeDriver(['--port=9515']); + // } } /**