arthurtavaresdev/pest-plugin-nova

此包已被弃用且不再维护。未建议替代包。

Laravel Nova 的 Pest 插件

dev-master / 1.x-dev 2022-02-21 17:54 UTC

This package is auto-updated.

Last update: 2022-12-21 19:34:01 UTC


README

Author PHP Version Laravel Version Laravel Nova

安装

通过 Composer

composer require --dev arthurtavaresdev/pest-plugin-nova

用法

插件安装后即可使用!结合 Pest 的优雅语法和 Nova Assertions

断言

有关断言的更多详细信息,请参阅 原始包

beforeEach(function () {
    Order::factory()->count(10)->create();
    $this->be(User::factory()->create());
});

test('index orders')
    ->novaIndex('orders')
    ->assertOk()
    // assert resources
    ->assertResources(fn($resources) => $resources->count() === 10)
    // assert cards
    ->assertCardCount(3)
    ->assertCardsInclude(OrderAmountPerDay::class)
    ->assertCardsInclude(OrderPerMerchant::class)
    ->assertCardsInclude(OrderPerStatus::class)
    // assert actions
    ->assertActionCount(1)
    ->assertActionsInclude(CancelOrderAction::class)
    // assert filters
    ->assertFilterCount(2)
    ->assertFiltersInclude(OrderStatusFilter::class)
    ->assertFiltersInclude(MerchantFilter::class)
    // assert fields
    ->assertFieldsInclude(['id', 'status', 'amount', 'created_at'])
    ->assertFieldsExclude(['external_id', 'currency'])
    // assert policies
    ->assertCanView()
    ->assertCanCreate()
    ->assertCanUpdate()
    ->assertCanDelete()
    ->assertCannotForceDelete()
    ->assertCannotRestore();
    ...

期望

[WIP]

    test('can index orders', function () {
       expect($this->novaIndex('orders')
           ->toBeCardsCount(3)
           ->toBeCardInclude(OrderAmountPerDay::class)
   });

    test('can update order', function () {
       expect($this->novaEdit('orders', Order::factory()->create()->id))
           ->toBeField('merchant')
           ->toBeField('shopper')
           ->toBeField('amount')
           ->toBeField('created_at')
           ->toBeField('tags');
   });
});

变更日志

请参阅 CHANGELOG 了解最近更改的详细信息。

测试

composer test

贡献

请参阅 CONTRIBUTING行为准则 了解详情。

安全

如果您发现任何安全相关的问题,请通过电子邮件 arthurabreu00@gmail.com 联系,而不是使用问题跟踪器。

鸣谢

许可

MIT 许可证 (MIT)。请参阅 许可文件 了解更多信息。