futtern/tests/Controller/HomeControllerTest.php
lubiana af9354ff22
All checks were successful
/ ls (pull_request) Successful in 1m33s
migrate to pest php for testing
2025-02-01 00:11:25 +01:00

81 lines
2 KiB
PHP

<?php declare(strict_types=1);
namespace App\Tests\Controller;
use App\Controller\HomeController;
use App\Form\UserNameFormType;
use App\Tests\DbWebTest;
use Override;
use PHPUnit\Framework\Attributes\CoversClass;
#[CoversClass(HomeController::class)]
#[CoversClass(UserNameFormType::class)]
final class HomeControllerTest extends DbWebTest
{
public function testIndex(): void
{
$this->client->request(
'GET',
'/'
);
self::assertResponseStatusCodeSame(302);
self::assertResponseHeaderSame('Location', '/food/order/list');
}
public function testSetUsername(): void
{
$this->client->request(
'GET',
'/username',
);
self::assertResponseStatusCodeSame(200);
$this->client->submitForm('Save', [
'user_name_form[username]' => 'Testing-1',
]);
self::assertResponseStatusCodeSame(302);
self::assertResponseHeaderSame('Location', '/food/order/list');
self::assertResponseCookieValueSame('username', 'Testing-1');
$crawler = $this->client->request(
'GET',
'/username',
);
self::assertResponseStatusCodeSame(200);
$this->assertSame(
$crawler->filter('#user_name_form_username')
->last()
->attr('value', ''),
'Testing-1'
);
}
public function testRemoveUsername(): void
{
$this->client->request(
'GET',
'/username',
);
self::assertResponseStatusCodeSame(200);
$this->client->submitForm('Save', [
'user_name_form[username]' => '',
]);
self::assertResponseStatusCodeSame(302);
self::assertResponseHeaderSame('Location', '/food/order/list');
self::assertResponseCookieValueSame('username', '');
}
#[Override]
public function getEntityClass(): string
{
return '';
}
}