ralphjsmit / pest-plugin-livewire
此包已被废弃且不再维护。未建议替代包。
Pest 用于测试 Livewire 表单的插件。
2.0
2023-04-18 17:43 UTC
Requires
- php: ^8.0
- illuminate/support: ^8.76|^9.0|^10.0
- livewire/livewire: ^2.8
- pestphp/pest: ^1.17|^2.0
- pestphp/pest-plugin: ^1.0|^2.0
Requires (Dev)
- orchestra/testbench: ^6.23|^7.0|^8.0
README
此包提供了一种方便的方式来测试您的 Livewire 表单并加快您的工作流程。它添加了一些辅助工具,使重复任务更快,例如测试属性是否为必填项。
重要
此包仅与 Livewire V2 及以上版本和 Laravel 10 兼容。因此,它将不会更新以支持 Livewire V3 及更高版本或 Laravel 11 及更高版本。仓库将被存档。
内容
- 期望
- 函数
期望
expect(...)->toHaveRequiredProperties()
测试 Livewire 属性是否为必填项。考虑以下示例 Livewire 组件
class TestRequiredPropertiesComponent extends Component { public string $email_Req = ''; public string $email = ''; public ?int $age_Req = null; public ?int $age = null; protected array $rules = [ 'email' => '', 'email_Req' => 'required', 'age' => 'numeric', 'age_Req' => 'numeric|required', ]; public function render(): string { return '<div></div>'; } public function submit() { $this->validate(); }
use function RalphJSmit\PestPluginLivewire\validInput; $component = Livewire::test(TestRequiredPropertiesComponent::class); $validInput = validInput([ 'email' => 'alex@example.com', 'age' => 25, ]); expect($component) ->toHaveRequiredProperties(validInput, ['email_Req', 'age_Req'], 'submit');
注意:目前使用
->not
来否定测试还不被支持。
expect(...)->toNotHaveRequiredProperties()
测试 Livewire 属性是否不为必填项。让我们在上面的示例中继续进行测试,测试那些非必填的属性
use function RalphJSmit\PestPluginLivewire\validInput; $component = Livewire::test(TestRequiredPropertiesComponent::class); $validInput = validInput([ 'email' => 'alex@example.com', 'age' => 25, ]); expect($component) ->toNotHaveRequiredProperties(validInput, ['email', 'name'], 'submit');
注意:目前使用
->not
来否定测试还不被支持。
函数
assertRequiredProperties()
使用此函数来测试 Livewire 属性是否为必填项。如果您想链式调用多个期望,请考虑使用 expect(...)
调用。
use function RalphJSmit\PestPluginLivewire\assertRequiredProperties; assertRequiredProperties(TestableLivewire $livewire, Collection $validInput, array $requiredProperties, string $submitFunction);
assertNotRequiredProperties()
使用此函数来测试 Livewire 属性是否不为必填项。如果您想链式调用多个期望,请考虑使用 expect(...)
调用。
use function RalphJSmit\PestPluginLivewire\assertNotRequiredProperties; assertNotRequiredProperties(TestableLivewire $livewire, Collection $validInput, array $requiredProperties, string $submitFunction);
validInput()
使用此函数来获取一个 ValidInput
对象(Laravel Collection)。使用上述函数时需要它。
通用
🐞 如果您发现一个错误,请提交详细的 issue,我会尽快修复。
🔐 如果您发现一个漏洞,请查阅 我们的安全策略。
🙌 如果您想贡献力量,请提交 pull request。所有 PR 将获得全额认可。如果您不确定我是否会接受您的想法,请随时联系我!
🙋♂️ Ralph J. Smit