Files
eatvio-infra/tests/Feature/MealFormTest.php
2024-01-14 13:11:41 +03:00

67 lines
1.9 KiB
PHP

<?php
namespace Tests\Feature;
use App\Livewire\MealForm;
use Livewire\Livewire;
use Tests\TestCase;
class MealFormTest extends TestCase
{
/** @test */
public function diary_creation_page_contains_livewire_component(): void
{
$this->refreshApplicationWithLocale('en');
$this->actingAs($this->user);
//@var $response
$response = $this->followingRedirects()->get(route('diary.index'));
// $response->assertSeeLivewire('meal-form');
$response->assertSee('meal-form');
}
/** @test */
public function meal_form_productName_is_required(): void
{
$this->refreshApplicationWithLocale('en');
$this->actingAs($this->user);
$testDiary = $this->user->diaries->first();
Livewire::test(MealForm::class, ['diaryId' => $testDiary->id])
->set('product_name', '')
->call('addPortion')
->assertHasErrors(['product_name' => 'required']);
Livewire::test(MealForm::class, ['diaryId' => $testDiary->id])
->set('quantity', '')
->call('addPortion')
->assertHasErrors(['quantity' => 'required']);
Livewire::test(MealForm::class, ['diaryId' => $testDiary->id])
->set('portion', '')
->call('addPortion')
->assertHasErrors(['portion' => 'required']);
}
/** @test */
public function meal_form_add_portion(): void
{
$this->refreshApplicationWithLocale('en');
$this->actingAs($this->user);
$testDiary = $this->user->diaries->first();
Livewire::test(
MealForm::class,
['diaryId' => $testDiary->id]
)
->set('product_name', 'test product')
->set('quantity', '2')
->set('portion', 'pcs')
->call('addPortion')
->assertCount('portions', 1);
}
}