44 lines
1.1 KiB
PHP
44 lines
1.1 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Tests\Feature\Component;
|
|
|
|
use Tests\Feature\Component\DataProvider\ButtonTestDataProvider;
|
|
use Tests\TestCase;
|
|
|
|
class ButtonTest extends TestCase
|
|
{
|
|
public function testGeneratesButtonElement(): void
|
|
{
|
|
$view = $this->blade('<x-button>Click!</x-button>');
|
|
|
|
$view->assertSeeHtml('<button ');
|
|
$view->assertDontSeeHtml('<a ');
|
|
}
|
|
|
|
public function testButtonCanHaveAttributes(): void
|
|
{
|
|
$view = $this->blade('<x-button data-attr="123">Click!</x-button>');
|
|
|
|
$view->assertSeeHtml('data-attr="123"');
|
|
}
|
|
|
|
public function testDefaultVariantIsPrimary(): void
|
|
{
|
|
$view = $this->blade('<x-button>Click!</x-button>');
|
|
|
|
$view->assertSeeHtml('bg-primary text-text-inverted');
|
|
}
|
|
|
|
|
|
#[\PHPUnit\Framework\Attributes\DataProviderExternal(ButtonTestDataProvider::class, 'getDataForButtonTestWithButtons')]
|
|
public function testVariants(string $variant, string $expectedHtml): void
|
|
{
|
|
$button = sprintf('<x-button variant="%s">Click!</x-button>', $variant);
|
|
$view = $this->blade($button);
|
|
|
|
$view->assertSeeHtml($expectedHtml);
|
|
}
|
|
}
|