dishplanner/tests/Browser/Dishes/CreateDishSuccessTest.php

54 lines
1.5 KiB
PHP
Raw Permalink Normal View History

<?php
namespace Tests\Browser\Dishes;
use Laravel\Dusk\Browser;
use Tests\Browser\Components\DishModal;
use Tests\Browser\LoginHelpers;
2026-08-17 13:30:49 +02:00
use Tests\Browser\Pages\DishesPage;
use Tests\DuskTestCase;
class CreateDishSuccessTest extends DuskTestCase
{
use LoginHelpers;
2026-08-17 13:30:49 +02:00
protected static $createDishSuccessTestPlanner = null;
2026-08-17 13:30:49 +02:00
protected static $createDishSuccessTestEmail = null;
2026-08-17 13:30:49 +02:00
protected function setUp(): void
{
parent::setUp();
// Reset static planner for this specific test class
self::$testPlanner = self::$createDishSuccessTestPlanner;
self::$testEmail = self::$createDishSuccessTestEmail;
}
2026-08-17 13:30:49 +02:00
protected function tearDown(): void
{
// Save the planner for next test method in this class
self::$createDishSuccessTestPlanner = self::$testPlanner;
self::$createDishSuccessTestEmail = self::$testEmail;
parent::tearDown();
}
2026-08-17 13:30:49 +02:00
public function test_can_create_dish_successfully(): void
{
$this->browse(function (Browser $browser) {
2026-08-17 13:30:49 +02:00
$dishName = 'Test Dish '.uniqid();
$this->loginAndGoToDishes($browser);
2026-08-17 13:30:49 +02:00
$browser->on(new DishesPage)
2026-08-17 13:30:49 +02:00
->openCreateModal()
->within(new DishModal('create'), function ($browser) use ($dishName) {
$browser->fillForm($dishName)
->submit();
})
->pause(3000)
->assertDishVisible($dishName)
->assertSee('Dish created successfully');
});
}
2026-08-17 13:30:49 +02:00
}