mirror of
https://github.com/AnimeThemes/animethemes-server.git
synced 2026-07-11 01:24:46 +02:00
fix(filament): reduce number of gate checks for base actions (#906)
This commit is contained in:
@@ -7,28 +7,52 @@ namespace App\Filament\Actions\Base;
|
||||
use App\Actions\Http\Api\List\Playlist\Track\DestroyTrackAction;
|
||||
use App\Models\Admin\ActionLog;
|
||||
use App\Models\List\Playlist\PlaylistTrack;
|
||||
use Filament\Actions\DeleteAction as BaseDeleteAction;
|
||||
use Filament\Actions\Action;
|
||||
use Filament\Support\Icons\Heroicon;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class DeleteAction extends BaseDeleteAction
|
||||
class DeleteAction extends Action
|
||||
{
|
||||
/**
|
||||
* Initial setup for the action.
|
||||
*/
|
||||
public static function getDefaultName(): ?string
|
||||
{
|
||||
return 'delete';
|
||||
}
|
||||
|
||||
protected function setUp(): void
|
||||
{
|
||||
parent::setUp();
|
||||
|
||||
$this->label(__('filament.actions.base.delete'));
|
||||
|
||||
$this->action(function (Model $record) {
|
||||
if ($record instanceof PlaylistTrack) {
|
||||
new DestroyTrackAction()->destroy($record->playlist, $record);
|
||||
$this->modalHeading(fn (): string => __('filament-actions::delete.single.modal.heading', ['label' => $this->getRecordTitle()]));
|
||||
|
||||
$this->modalSubmitActionLabel(__('filament-actions::delete.single.modal.actions.delete.label'));
|
||||
|
||||
$this->successNotificationTitle(__('filament-actions::delete.single.notifications.deleted.title'));
|
||||
|
||||
$this->defaultColor('danger');
|
||||
|
||||
$this->tableIcon(Heroicon::Trash);
|
||||
$this->groupedIcon(Heroicon::Trash);
|
||||
|
||||
$this->requiresConfirmation();
|
||||
|
||||
$this->modalIcon(Heroicon::OutlinedTrash);
|
||||
|
||||
$this->keyBindings(['mod+d']);
|
||||
|
||||
$this->action(function (Model $record): void {
|
||||
$result = $record instanceof PlaylistTrack
|
||||
? new DestroyTrackAction()->destroy($record->playlist, $record)
|
||||
: $record->delete();
|
||||
|
||||
if (! $result) {
|
||||
$this->failure();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$record->delete();
|
||||
$this->success();
|
||||
});
|
||||
|
||||
$this->after(fn (Model $record) => ActionLog::modelDeleted($record));
|
||||
|
||||
@@ -11,20 +11,32 @@ use App\Filament\Resources\Base\BaseListResources;
|
||||
use App\Filament\Resources\Base\BaseManageResources;
|
||||
use App\Filament\Resources\Base\BaseViewResource;
|
||||
use App\Models\Admin\ActionLog;
|
||||
use Filament\Actions\EditAction as BaseEditAction;
|
||||
use Closure;
|
||||
use Filament\Actions\Action;
|
||||
use Filament\Actions\Concerns\CanCustomizeProcess;
|
||||
use Filament\Actions\Contracts\HasActions;
|
||||
use Filament\Schemas\Contracts\HasSchemas;
|
||||
use Filament\Schemas\Schema;
|
||||
use Filament\Support\Enums\IconSize;
|
||||
use Filament\Support\Icons\Heroicon;
|
||||
use Filament\Tables\Table;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
|
||||
use Illuminate\Support\Arr;
|
||||
|
||||
class EditAction extends BaseEditAction
|
||||
class EditAction extends Action
|
||||
{
|
||||
use CanCustomizeProcess;
|
||||
use HasActionLogs;
|
||||
use HasPivotActionLogs;
|
||||
|
||||
/**
|
||||
* Initial setup for the action.
|
||||
*/
|
||||
protected ?Closure $mutateRecordDataUsing = null;
|
||||
|
||||
public static function getDefaultName(): ?string
|
||||
{
|
||||
return 'edit';
|
||||
}
|
||||
|
||||
protected function setUp(): void
|
||||
{
|
||||
parent::setUp();
|
||||
@@ -37,6 +49,12 @@ class EditAction extends BaseEditAction
|
||||
return '';
|
||||
});
|
||||
|
||||
$this->modalHeading(fn (): string => __('filament-actions::edit.single.modal.heading', ['label' => $this->getRecordTitle()]));
|
||||
$this->modalSubmitActionLabel(__('filament-actions::edit.single.modal.actions.save.label'));
|
||||
$this->successNotificationTitle(__('filament-actions::edit.single.notifications.saved.title'));
|
||||
|
||||
$this->tableIcon(Heroicon::PencilSquare);
|
||||
$this->groupedIcon(Heroicon::PencilSquare);
|
||||
$this->iconSize(IconSize::Medium);
|
||||
|
||||
$this->schema(fn (Schema $schema, BaseListResources|BaseViewResource|BaseManageResources|BaseRelationManager $livewire) => [
|
||||
@@ -55,5 +73,81 @@ class EditAction extends BaseEditAction
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
$this->fillForm(function (HasActions&HasSchemas $livewire, Model $record, ?Table $table): array {
|
||||
$translatableContentDriver = $livewire->makeFilamentTranslatableContentDriver();
|
||||
|
||||
if ($translatableContentDriver) {
|
||||
$data = $translatableContentDriver->getRecordAttributesToArray($record);
|
||||
} else {
|
||||
$data = $record->attributesToArray();
|
||||
}
|
||||
|
||||
$relationship = $table?->getRelationship();
|
||||
|
||||
if ($relationship instanceof BelongsToMany) {
|
||||
$pivot = $record->getRelationValue($relationship->getPivotAccessor());
|
||||
|
||||
$pivotColumns = $relationship->getPivotColumns();
|
||||
|
||||
if ($translatableContentDriver) {
|
||||
$data = [
|
||||
...$data,
|
||||
...Arr::only($translatableContentDriver->getRecordAttributesToArray($pivot), $pivotColumns),
|
||||
];
|
||||
} else {
|
||||
$data = [
|
||||
...$data,
|
||||
...Arr::only($pivot->attributesToArray(), $pivotColumns),
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
if ($this->mutateRecordDataUsing) {
|
||||
$data = $this->evaluate($this->mutateRecordDataUsing, ['data' => $data]);
|
||||
}
|
||||
|
||||
return $data;
|
||||
});
|
||||
|
||||
$this->action(function (): void {
|
||||
$this->process(function (array $data, HasActions&HasSchemas $livewire, Model $record, ?Table $table): void {
|
||||
$relationship = $table?->getRelationship();
|
||||
|
||||
$translatableContentDriver = $livewire->makeFilamentTranslatableContentDriver();
|
||||
|
||||
if ($relationship instanceof BelongsToMany) {
|
||||
$pivot = $record->getRelationValue($relationship->getPivotAccessor());
|
||||
|
||||
$pivotColumns = $relationship->getPivotColumns();
|
||||
$pivotData = Arr::only($data, $pivotColumns);
|
||||
|
||||
if (count($pivotColumns)) {
|
||||
if ($translatableContentDriver) {
|
||||
$translatableContentDriver->updateRecord($pivot, $pivotData);
|
||||
} else {
|
||||
$pivot->update($pivotData);
|
||||
}
|
||||
}
|
||||
|
||||
$data = Arr::except($data, $pivotColumns);
|
||||
}
|
||||
|
||||
if ($translatableContentDriver) {
|
||||
$translatableContentDriver->updateRecord($record, $data);
|
||||
} else {
|
||||
$record->update($data);
|
||||
}
|
||||
});
|
||||
|
||||
$this->success();
|
||||
});
|
||||
}
|
||||
|
||||
public function mutateRecordDataUsing(?Closure $callback): static
|
||||
{
|
||||
$this->mutateRecordDataUsing = $callback;
|
||||
|
||||
return $this;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,18 +5,47 @@ declare(strict_types=1);
|
||||
namespace App\Filament\Actions\Base;
|
||||
|
||||
use App\Contracts\Models\SoftDeletable;
|
||||
use Filament\Actions\ForceDeleteAction as BaseForceDeleteAction;
|
||||
use Filament\Actions\Action;
|
||||
use Filament\Actions\Concerns\CanCustomizeProcess;
|
||||
use Filament\Support\Icons\Heroicon;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class ForceDeleteAction extends BaseForceDeleteAction
|
||||
class ForceDeleteAction extends Action
|
||||
{
|
||||
/**
|
||||
* Initial setup for the action.
|
||||
*/
|
||||
use CanCustomizeProcess;
|
||||
|
||||
public static function getDefaultName(): ?string
|
||||
{
|
||||
return 'forceDelete';
|
||||
}
|
||||
|
||||
protected function setUp(): void
|
||||
{
|
||||
parent::setUp();
|
||||
|
||||
$this->label(__('filament.actions.base.forcedelete'));
|
||||
$this->modalHeading(fn (): string => __('filament-actions::force-delete.single.modal.heading', ['label' => $this->getRecordTitle()]));
|
||||
$this->modalSubmitActionLabel(__('filament-actions::force-delete.single.modal.actions.delete.label'));
|
||||
|
||||
$this->defaultColor('danger');
|
||||
|
||||
$this->tableIcon(Heroicon::Trash);
|
||||
$this->groupedIcon(Heroicon::Trash);
|
||||
$this->modalIcon(Heroicon::OutlinedTrash);
|
||||
|
||||
$this->requiresConfirmation();
|
||||
|
||||
$this->action(function (): void {
|
||||
$result = $this->process(static fn (Model $record): ?bool => $record->forceDelete());
|
||||
|
||||
if (! $result) {
|
||||
$this->failure();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$this->success();
|
||||
});
|
||||
|
||||
$this->visible(fn (string $model) => in_array(SoftDeletable::class, class_implements($model)));
|
||||
}
|
||||
|
||||
@@ -12,7 +12,6 @@ use Filament\Actions\ReplicateAction as BaseReplicateAction;
|
||||
use Filament\Facades\Filament;
|
||||
use Filament\Schemas\Schema;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Support\Facades\Gate;
|
||||
|
||||
class ReplicateAction extends BaseReplicateAction
|
||||
{
|
||||
@@ -23,8 +22,6 @@ class ReplicateAction extends BaseReplicateAction
|
||||
{
|
||||
parent::setUp();
|
||||
|
||||
$this->visible(fn (string $model) => Gate::allows('create', $model));
|
||||
|
||||
$this->schema(fn (Schema $schema, BaseListResources|BaseManageResources|BaseRelationManager $livewire) => $livewire->form($schema)->getComponents());
|
||||
|
||||
$this->successRedirectUrl(fn (Model $replica) => Filament::getModelResource($replica)::getUrl('view', ['record' => $replica]));
|
||||
|
||||
@@ -5,19 +5,63 @@ declare(strict_types=1);
|
||||
namespace App\Filament\Actions\Base;
|
||||
|
||||
use App\Models\Admin\ActionLog;
|
||||
use Filament\Actions\RestoreAction as BaseRestoreAction;
|
||||
use Filament\Actions\Action;
|
||||
use Filament\Actions\Concerns\CanCustomizeProcess;
|
||||
use Filament\Support\Icons\Heroicon;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class RestoreAction extends BaseRestoreAction
|
||||
class RestoreAction extends Action
|
||||
{
|
||||
/**
|
||||
* Initial setup for the action.
|
||||
*/
|
||||
use CanCustomizeProcess;
|
||||
|
||||
public static function getDefaultName(): ?string
|
||||
{
|
||||
return 'restore';
|
||||
}
|
||||
|
||||
protected function setUp(): void
|
||||
{
|
||||
parent::setUp();
|
||||
|
||||
$this->label(__('filament.actions.base.restore'));
|
||||
$this->modalHeading(fn (): string => __('filament-actions::restore.single.modal.heading', ['label' => $this->getRecordTitle()]));
|
||||
$this->modalSubmitActionLabel(__('filament-actions::restore.single.modal.actions.restore.label'));
|
||||
|
||||
$this->successNotificationTitle(__('filament-actions::restore.single.notifications.restored.title'));
|
||||
|
||||
$this->defaultColor('gray');
|
||||
|
||||
$this->tableIcon(Heroicon::ArrowUturnLeft);
|
||||
$this->groupedIcon(Heroicon::ArrowUturnLeft);
|
||||
$this->modalIcon(Heroicon::OutlinedArrowUturnLeft);
|
||||
|
||||
$this->requiresConfirmation();
|
||||
|
||||
$this->action(function (Model $record): void {
|
||||
if (! method_exists($record, 'restore')) {
|
||||
$this->failure();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$result = $this->process(static fn (): ?bool => $record->restore());
|
||||
|
||||
if (! $result) {
|
||||
$this->failure();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$this->success();
|
||||
});
|
||||
|
||||
$this->visible(static function (Model $record): bool {
|
||||
if (! method_exists($record, 'trashed')) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return $record->trashed();
|
||||
});
|
||||
|
||||
$this->after(fn (Model $record) => ActionLog::modelRestored($record));
|
||||
}
|
||||
|
||||
@@ -8,20 +8,63 @@ use App\Filament\RelationManagers\BaseRelationManager;
|
||||
use App\Filament\Resources\Base\BaseListResources;
|
||||
use App\Filament\Resources\Base\BaseManageResources;
|
||||
use App\Filament\Resources\Base\BaseViewResource;
|
||||
use Filament\Actions\ViewAction as BaseViewAction;
|
||||
use Closure;
|
||||
use Filament\Actions\Action;
|
||||
use Filament\Actions\Contracts\HasActions;
|
||||
use Filament\Schemas\Contracts\HasSchemas;
|
||||
use Filament\Support\Enums\IconSize;
|
||||
use Filament\Support\Icons\Heroicon;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class ViewAction extends BaseViewAction
|
||||
class ViewAction extends Action
|
||||
{
|
||||
/**
|
||||
* Initial setup for the action.
|
||||
*/
|
||||
protected ?Closure $mutateRecordDataUsing = null;
|
||||
|
||||
public static function getDefaultName(): ?string
|
||||
{
|
||||
return 'view';
|
||||
}
|
||||
|
||||
protected function setUp(): void
|
||||
{
|
||||
parent::setUp();
|
||||
|
||||
$this->label('');
|
||||
$this->modalHeading(fn (): string => __('filament-actions::view.single.modal.heading', ['label' => $this->getRecordTitle()]));
|
||||
|
||||
$this->modalSubmitAction(false);
|
||||
$this->modalCancelAction(fn (Action $action) => $action->label(__('filament-actions::view.single.modal.actions.close.label')));
|
||||
|
||||
$this->defaultColor('gray');
|
||||
|
||||
$this->tableIcon(Heroicon::Eye);
|
||||
$this->groupedIcon(Heroicon::Eye);
|
||||
|
||||
$this->iconSize(IconSize::Medium);
|
||||
|
||||
$this->disabledSchema();
|
||||
|
||||
$this->fillForm(function (HasActions&HasSchemas $livewire, Model $record): array {
|
||||
if ($translatableContentDriver = $livewire->makeFilamentTranslatableContentDriver()) {
|
||||
$data = $translatableContentDriver->getRecordAttributesToArray($record);
|
||||
} else {
|
||||
$data = $record->attributesToArray();
|
||||
}
|
||||
|
||||
if ($this->mutateRecordDataUsing) {
|
||||
$data = $this->evaluate($this->mutateRecordDataUsing, ['data' => $data]);
|
||||
}
|
||||
|
||||
return $data;
|
||||
});
|
||||
|
||||
$this->hidden(fn (BaseManageResources|BaseListResources|BaseViewResource|BaseRelationManager $livewire) => $livewire instanceof BaseViewResource);
|
||||
}
|
||||
|
||||
public function mutateRecordDataUsing(?Closure $callback): static
|
||||
{
|
||||
$this->mutateRecordDataUsing = $callback;
|
||||
|
||||
return $this;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -142,8 +142,10 @@ abstract class BaseRelationManager extends RelationManager
|
||||
*/
|
||||
public static function getBulkActions(?array $actionsIncludedInGroup = []): array
|
||||
{
|
||||
$relatedResource = static::$relatedResource;
|
||||
|
||||
return [
|
||||
...(static::$relatedResource ? static::$relatedResource::getBulkActions() : []),
|
||||
...($relatedResource ? $relatedResource::getBulkActions() : []),
|
||||
|
||||
DetachBulkAction::make(),
|
||||
];
|
||||
@@ -158,12 +160,14 @@ abstract class BaseRelationManager extends RelationManager
|
||||
*/
|
||||
public static function getHeaderActions(): array
|
||||
{
|
||||
$relatedResource = static::$relatedResource;
|
||||
|
||||
return [
|
||||
CreateAction::make(),
|
||||
|
||||
AttachAction::make(),
|
||||
|
||||
...(static::$relatedResource ? static::$relatedResource::getTableActions() : []),
|
||||
...($relatedResource ? $relatedResource::getTableActions() : []),
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -30,6 +30,7 @@ use Filament\Tables\Table;
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\SoftDeletingScope;
|
||||
use Illuminate\Support\Facades\Gate;
|
||||
|
||||
abstract class BaseResource extends Resource
|
||||
{
|
||||
@@ -120,20 +121,20 @@ abstract class BaseResource extends Resource
|
||||
public static function getActions(): array
|
||||
{
|
||||
return [
|
||||
ViewAction::make(),
|
||||
...(Gate::allows('viewAny', static::$model) ? [ViewAction::make()] : []),
|
||||
|
||||
EditAction::make(),
|
||||
...(Gate::allows('updateAny', static::$model) ? [EditAction::make()] : []),
|
||||
|
||||
ActionGroup::make([
|
||||
DetachAction::make(),
|
||||
|
||||
DeleteAction::make(),
|
||||
...(Gate::allows('deleteAny', static::$model) ? [DeleteAction::make()] : []),
|
||||
|
||||
ForceDeleteAction::make(),
|
||||
...(Gate::allows('forceDeleteAny', static::$model) ? [ForceDeleteAction::make()] : []),
|
||||
|
||||
RestoreAction::make(),
|
||||
...(Gate::allows('restoreAny', static::$model) ? [RestoreAction::make()] : []),
|
||||
|
||||
ReplicateAction::make(),
|
||||
...(Gate::allows('create', static::$model) ? [ReplicateAction::make()] : []),
|
||||
|
||||
ActionGroup::make(static::getRecordActions())->dropdown(false),
|
||||
]),
|
||||
|
||||
@@ -92,6 +92,14 @@ abstract class BasePolicy
|
||||
return ! $trashed && $user->can(CrudPermission::UPDATE->format(static::getModel()));
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can update any model.
|
||||
*/
|
||||
public function updateAny(User $user): bool
|
||||
{
|
||||
return $user->can(CrudPermission::UPDATE->format(static::getModel()));
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can delete the model.
|
||||
*/
|
||||
|
||||
@@ -52,3 +52,6 @@ parameters:
|
||||
-
|
||||
message: '#Call to method assertActionHidden\(\) on an unknown class static.#'
|
||||
path: tests/Unit/Filament/*
|
||||
-
|
||||
message: '#Call to method assertActionDoesNotExist\(\) on an unknown class static.#'
|
||||
path: tests/Unit/Filament/*
|
||||
|
||||
@@ -44,12 +44,12 @@ test('user cannot edit record', function () {
|
||||
$record = AnnouncementModel::factory()->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(Announcement::class))
|
||||
->assertActionHidden(TestAction::make(EditAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(EditAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
test('user cannot delete record', function () {
|
||||
$record = AnnouncementModel::factory()->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(Announcement::class))
|
||||
->assertActionHidden(TestAction::make(DeleteAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(DeleteAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
@@ -38,12 +38,12 @@ test('user cannot edit record', function () {
|
||||
$record = DumpModel::factory()->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(Dump::class))
|
||||
->assertActionHidden(TestAction::make(EditAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(EditAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
test('user cannot delete record', function () {
|
||||
$record = DumpModel::factory()->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(Dump::class))
|
||||
->assertActionHidden(TestAction::make(DeleteAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(DeleteAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
@@ -38,12 +38,12 @@ test('user cannot edit record', function () {
|
||||
$record = FeatureModel::factory()->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(Feature::class))
|
||||
->assertActionHidden(TestAction::make(EditAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(EditAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
test('user cannot delete record', function () {
|
||||
$record = FeatureModel::factory()->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(Feature::class))
|
||||
->assertActionHidden(TestAction::make(DeleteAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(DeleteAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
@@ -98,12 +98,12 @@ test('user cannot edit record', function () {
|
||||
$record = FeaturedThemeModel::factory()->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(FeaturedTheme::class))
|
||||
->assertActionHidden(TestAction::make(EditAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(EditAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
test('user cannot delete record', function () {
|
||||
$record = FeaturedThemeModel::factory()->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(FeaturedTheme::class))
|
||||
->assertActionHidden(TestAction::make(DeleteAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(DeleteAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
@@ -103,7 +103,7 @@ test('user cannot edit record', function () {
|
||||
->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(DiscordThread::class))
|
||||
->assertActionHidden(TestAction::make(EditAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(EditAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
test('user cannot delete record', function () {
|
||||
@@ -112,5 +112,5 @@ test('user cannot delete record', function () {
|
||||
->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(DiscordThread::class))
|
||||
->assertActionHidden(TestAction::make(DeleteAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(DeleteAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
@@ -95,14 +95,14 @@ test('user cannot edit record', function () {
|
||||
$record = PageModel::factory()->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(Page::class))
|
||||
->assertActionHidden(TestAction::make(EditAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(EditAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
test('user cannot delete record', function () {
|
||||
$record = PageModel::factory()->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(Page::class))
|
||||
->assertActionHidden(TestAction::make(DeleteAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(DeleteAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
test('user cannot restore record', function () {
|
||||
@@ -112,12 +112,12 @@ test('user cannot restore record', function () {
|
||||
|
||||
Livewire::test(getIndexPage(Page::class))
|
||||
->filterTable('trashed', 0)
|
||||
->assertActionHidden(TestAction::make(RestoreAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(RestoreAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
test('user cannot force delete record', function () {
|
||||
$record = PageModel::factory()->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(Page::class))
|
||||
->assertActionHidden(TestAction::make(ForceDeleteAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(ForceDeleteAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
@@ -103,7 +103,7 @@ test('user cannot edit record', function () {
|
||||
->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(Entry::class))
|
||||
->assertActionHidden(TestAction::make(EditAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(EditAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
test('user cannot delete record', function () {
|
||||
@@ -112,7 +112,7 @@ test('user cannot delete record', function () {
|
||||
->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(Entry::class))
|
||||
->assertActionHidden(TestAction::make(DeleteAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(DeleteAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
test('user cannot restore record', function () {
|
||||
@@ -124,7 +124,7 @@ test('user cannot restore record', function () {
|
||||
|
||||
Livewire::test(getIndexPage(Entry::class))
|
||||
->filterTable('trashed', 0)
|
||||
->assertActionHidden(TestAction::make(RestoreAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(RestoreAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
test('user cannot force delete record', function () {
|
||||
@@ -133,5 +133,5 @@ test('user cannot force delete record', function () {
|
||||
->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(Entry::class))
|
||||
->assertActionHidden(TestAction::make(ForceDeleteAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(ForceDeleteAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
@@ -104,7 +104,7 @@ test('user cannot edit record', function () {
|
||||
->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(Theme::class))
|
||||
->assertActionHidden(TestAction::make(EditAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(EditAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
test('user cannot delete record', function () {
|
||||
@@ -113,7 +113,7 @@ test('user cannot delete record', function () {
|
||||
->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(Theme::class))
|
||||
->assertActionHidden(TestAction::make(DeleteAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(DeleteAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
test('user cannot restore record', function () {
|
||||
@@ -125,7 +125,7 @@ test('user cannot restore record', function () {
|
||||
|
||||
Livewire::test(getIndexPage(Theme::class))
|
||||
->filterTable('trashed', 0)
|
||||
->assertActionHidden(TestAction::make(RestoreAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(RestoreAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
test('user cannot force delete record', function () {
|
||||
@@ -134,5 +134,5 @@ test('user cannot force delete record', function () {
|
||||
->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(Theme::class))
|
||||
->assertActionHidden(TestAction::make(ForceDeleteAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(ForceDeleteAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
@@ -95,14 +95,14 @@ test('user cannot edit record', function () {
|
||||
$record = AnimeModel::factory()->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(Anime::class))
|
||||
->assertActionHidden(TestAction::make(EditAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(EditAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
test('user cannot delete record', function () {
|
||||
$record = AnimeModel::factory()->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(Anime::class))
|
||||
->assertActionHidden(TestAction::make(DeleteAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(DeleteAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
test('user cannot restore record', function () {
|
||||
@@ -112,12 +112,12 @@ test('user cannot restore record', function () {
|
||||
|
||||
Livewire::test(getIndexPage(Anime::class))
|
||||
->filterTable('trashed', 0)
|
||||
->assertActionHidden(TestAction::make(RestoreAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(RestoreAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
test('user cannot force delete record', function () {
|
||||
$record = AnimeModel::factory()->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(Anime::class))
|
||||
->assertActionHidden(TestAction::make(ForceDeleteAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(ForceDeleteAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
@@ -95,14 +95,14 @@ test('user cannot edit record', function () {
|
||||
$record = ArtistModel::factory()->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(Artist::class))
|
||||
->assertActionHidden(TestAction::make(EditAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(EditAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
test('user cannot delete record', function () {
|
||||
$record = ArtistModel::factory()->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(Artist::class))
|
||||
->assertActionHidden(TestAction::make(DeleteAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(DeleteAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
test('user cannot restore record', function () {
|
||||
@@ -112,12 +112,12 @@ test('user cannot restore record', function () {
|
||||
|
||||
Livewire::test(getIndexPage(Artist::class))
|
||||
->filterTable('trashed', 0)
|
||||
->assertActionHidden(TestAction::make(RestoreAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(RestoreAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
test('user cannot force delete record', function () {
|
||||
$record = ArtistModel::factory()->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(Artist::class))
|
||||
->assertActionHidden(TestAction::make(ForceDeleteAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(ForceDeleteAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
@@ -74,14 +74,14 @@ test('user cannot edit record', function () {
|
||||
$record = AudioModel::factory()->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(Audio::class))
|
||||
->assertActionHidden(TestAction::make(EditAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(EditAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
test('user cannot delete record', function () {
|
||||
$record = AudioModel::factory()->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(Audio::class))
|
||||
->assertActionHidden(TestAction::make(DeleteAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(DeleteAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
test('user cannot restore record', function () {
|
||||
@@ -91,12 +91,12 @@ test('user cannot restore record', function () {
|
||||
|
||||
Livewire::test(getIndexPage(Audio::class))
|
||||
->filterTable('trashed', 0)
|
||||
->assertActionHidden(TestAction::make(RestoreAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(RestoreAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
test('user cannot force delete record', function () {
|
||||
$record = AudioModel::factory()->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(Audio::class))
|
||||
->assertActionHidden(TestAction::make(ForceDeleteAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(ForceDeleteAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
@@ -74,14 +74,14 @@ test('user cannot edit record', function () {
|
||||
$record = ExternalResourceModel::factory()->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(ExternalResource::class))
|
||||
->assertActionHidden(TestAction::make(EditAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(EditAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
test('user cannot delete record', function () {
|
||||
$record = ExternalResourceModel::factory()->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(ExternalResource::class))
|
||||
->assertActionHidden(TestAction::make(DeleteAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(DeleteAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
test('user cannot restore record', function () {
|
||||
@@ -91,12 +91,12 @@ test('user cannot restore record', function () {
|
||||
|
||||
Livewire::test(getIndexPage(ExternalResource::class))
|
||||
->filterTable('trashed', 0)
|
||||
->assertActionHidden(TestAction::make(RestoreAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(RestoreAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
test('user cannot force delete record', function () {
|
||||
$record = ExternalResourceModel::factory()->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(ExternalResource::class))
|
||||
->assertActionHidden(TestAction::make(ForceDeleteAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(ForceDeleteAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
@@ -95,14 +95,14 @@ test('user cannot edit record', function () {
|
||||
$record = GroupModel::factory()->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(Group::class))
|
||||
->assertActionHidden(TestAction::make(EditAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(EditAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
test('user cannot delete record', function () {
|
||||
$record = GroupModel::factory()->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(Group::class))
|
||||
->assertActionHidden(TestAction::make(DeleteAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(DeleteAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
test('user cannot restore record', function () {
|
||||
@@ -112,12 +112,12 @@ test('user cannot restore record', function () {
|
||||
|
||||
Livewire::test(getIndexPage(Group::class))
|
||||
->filterTable('trashed', 0)
|
||||
->assertActionHidden(TestAction::make(RestoreAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(RestoreAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
test('user cannot force delete record', function () {
|
||||
$record = GroupModel::factory()->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(Group::class))
|
||||
->assertActionHidden(TestAction::make(ForceDeleteAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(ForceDeleteAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
@@ -74,14 +74,14 @@ test('user cannot edit record', function () {
|
||||
$record = ImageModel::factory()->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(Image::class))
|
||||
->assertActionHidden(TestAction::make(EditAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(EditAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
test('user cannot delete record', function () {
|
||||
$record = ImageModel::factory()->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(Image::class))
|
||||
->assertActionHidden(TestAction::make(DeleteAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(DeleteAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
test('user cannot restore record', function () {
|
||||
@@ -91,12 +91,12 @@ test('user cannot restore record', function () {
|
||||
|
||||
Livewire::test(getIndexPage(Image::class))
|
||||
->filterTable('trashed', 0)
|
||||
->assertActionHidden(TestAction::make(RestoreAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(RestoreAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
test('user cannot force delete record', function () {
|
||||
$record = ImageModel::factory()->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(Image::class))
|
||||
->assertActionHidden(TestAction::make(ForceDeleteAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(ForceDeleteAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
@@ -95,14 +95,14 @@ test('user cannot edit record', function () {
|
||||
$record = SeriesModel::factory()->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(Series::class))
|
||||
->assertActionHidden(TestAction::make(EditAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(EditAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
test('user cannot delete record', function () {
|
||||
$record = SeriesModel::factory()->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(Series::class))
|
||||
->assertActionHidden(TestAction::make(DeleteAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(DeleteAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
test('user cannot restore record', function () {
|
||||
@@ -112,12 +112,12 @@ test('user cannot restore record', function () {
|
||||
|
||||
Livewire::test(getIndexPage(Series::class))
|
||||
->filterTable('trashed', 0)
|
||||
->assertActionHidden(TestAction::make(RestoreAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(RestoreAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
test('user cannot force delete record', function () {
|
||||
$record = SeriesModel::factory()->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(Series::class))
|
||||
->assertActionHidden(TestAction::make(ForceDeleteAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(ForceDeleteAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
@@ -109,7 +109,7 @@ test('user cannot edit record', function () {
|
||||
->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(Membership::class))
|
||||
->assertActionHidden(TestAction::make(EditAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(EditAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
test('user cannot delete record', function () {
|
||||
@@ -119,7 +119,7 @@ test('user cannot delete record', function () {
|
||||
->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(Membership::class))
|
||||
->assertActionHidden(TestAction::make(DeleteAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(DeleteAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
test('user cannot restore record', function () {
|
||||
@@ -132,7 +132,7 @@ test('user cannot restore record', function () {
|
||||
|
||||
Livewire::test(getIndexPage(Membership::class))
|
||||
->filterTable('trashed', 0)
|
||||
->assertActionHidden(TestAction::make(RestoreAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(RestoreAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
test('user cannot force delete record', function () {
|
||||
@@ -142,5 +142,5 @@ test('user cannot force delete record', function () {
|
||||
->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(Membership::class))
|
||||
->assertActionHidden(TestAction::make(ForceDeleteAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(ForceDeleteAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
@@ -109,7 +109,7 @@ test('user cannot edit record', function () {
|
||||
->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(Performance::class))
|
||||
->assertActionHidden(TestAction::make(EditAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(EditAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
test('user cannot delete record', function () {
|
||||
@@ -119,7 +119,7 @@ test('user cannot delete record', function () {
|
||||
->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(Performance::class))
|
||||
->assertActionHidden(TestAction::make(DeleteAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(DeleteAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
test('user cannot restore record', function () {
|
||||
@@ -132,7 +132,7 @@ test('user cannot restore record', function () {
|
||||
|
||||
Livewire::test(getIndexPage(Performance::class))
|
||||
->filterTable('trashed', 0)
|
||||
->assertActionHidden(TestAction::make(RestoreAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(RestoreAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
test('user cannot force delete record', function () {
|
||||
@@ -142,5 +142,5 @@ test('user cannot force delete record', function () {
|
||||
->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(Performance::class))
|
||||
->assertActionHidden(TestAction::make(ForceDeleteAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(ForceDeleteAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
@@ -95,14 +95,14 @@ test('user cannot edit record', function () {
|
||||
$record = SongModel::factory()->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(Song::class))
|
||||
->assertActionHidden(TestAction::make(EditAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(EditAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
test('user cannot delete record', function () {
|
||||
$record = SongModel::factory()->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(Song::class))
|
||||
->assertActionHidden(TestAction::make(DeleteAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(DeleteAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
test('user cannot restore record', function () {
|
||||
@@ -112,12 +112,12 @@ test('user cannot restore record', function () {
|
||||
|
||||
Livewire::test(getIndexPage(Song::class))
|
||||
->filterTable('trashed', 0)
|
||||
->assertActionHidden(TestAction::make(RestoreAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(RestoreAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
test('user cannot force delete record', function () {
|
||||
$record = SongModel::factory()->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(Song::class))
|
||||
->assertActionHidden(TestAction::make(ForceDeleteAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(ForceDeleteAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
@@ -95,14 +95,14 @@ test('user cannot edit record', function () {
|
||||
$record = StudioModel::factory()->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(Studio::class))
|
||||
->assertActionHidden(TestAction::make(EditAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(EditAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
test('user cannot delete record', function () {
|
||||
$record = StudioModel::factory()->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(Studio::class))
|
||||
->assertActionHidden(TestAction::make(DeleteAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(DeleteAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
test('user cannot restore record', function () {
|
||||
@@ -112,12 +112,12 @@ test('user cannot restore record', function () {
|
||||
|
||||
Livewire::test(getIndexPage(Studio::class))
|
||||
->filterTable('trashed', 0)
|
||||
->assertActionHidden(TestAction::make(RestoreAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(RestoreAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
test('user cannot force delete record', function () {
|
||||
$record = StudioModel::factory()->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(Studio::class))
|
||||
->assertActionHidden(TestAction::make(ForceDeleteAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(ForceDeleteAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
@@ -74,14 +74,14 @@ test('user cannot edit record', function () {
|
||||
$record = VideoScriptModel::factory()->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(Script::class))
|
||||
->assertActionHidden(TestAction::make(EditAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(EditAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
test('user cannot delete record', function () {
|
||||
$record = VideoScriptModel::factory()->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(Script::class))
|
||||
->assertActionHidden(TestAction::make(DeleteAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(DeleteAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
test('user cannot restore record', function () {
|
||||
@@ -91,12 +91,12 @@ test('user cannot restore record', function () {
|
||||
|
||||
Livewire::test(getIndexPage(Script::class))
|
||||
->filterTable('trashed', 0)
|
||||
->assertActionHidden(TestAction::make(RestoreAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(RestoreAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
test('user cannot force delete record', function () {
|
||||
$record = VideoScriptModel::factory()->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(Script::class))
|
||||
->assertActionHidden(TestAction::make(ForceDeleteAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(ForceDeleteAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
@@ -74,14 +74,14 @@ test('user cannot edit record', function () {
|
||||
$record = VideoModel::factory()->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(Video::class))
|
||||
->assertActionHidden(TestAction::make(EditAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(EditAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
test('user cannot delete record', function () {
|
||||
$record = VideoModel::factory()->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(Video::class))
|
||||
->assertActionHidden(TestAction::make(DeleteAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(DeleteAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
test('user cannot restore record', function () {
|
||||
@@ -91,12 +91,12 @@ test('user cannot restore record', function () {
|
||||
|
||||
Livewire::test(getIndexPage(Video::class))
|
||||
->filterTable('trashed', 0)
|
||||
->assertActionHidden(TestAction::make(RestoreAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(RestoreAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
test('user cannot force delete record', function () {
|
||||
$record = VideoModel::factory()->createOne();
|
||||
|
||||
Livewire::test(getIndexPage(Video::class))
|
||||
->assertActionHidden(TestAction::make(ForceDeleteAction::getDefaultName())->table($record));
|
||||
->assertActionDoesNotExist(TestAction::make(ForceDeleteAction::getDefaultName())->table($record));
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user