retrofairie/tests/Feature/CategoryTest.php
2025-02-23 20:44:23 -08:00

40 lines
1.1 KiB
PHP

<?php
use App\Http\Controllers\CategoryController;
use App\Models\Category;
use App\Models\User;
covers(CategoryController::class);
test('guests can view category index', function () {
$response = $this->get(route('categories.index'));
$response->assertOk();
});
test('category index request contains categories', function () {
$response = $this->get(route('categories.index'));
$response->assertViewHas('categories');
expect($response['categories'])
->toBeEloquentCollection()
->toContainOnlyInstancesOf(Category::class)
->toEqual(Category::all());
});
test('category index request contains trashedCategories', function () {
$response = $this->get(route('categories.index'));
$response->assertViewHas('trashedCategories');
expect($response['trashedCategories'])
->toBeEloquentCollection()
->toContainOnlyInstancesOf(Category::class)
->toEqual(Category::onlyTrashed()->get());
});
test('logged in users can view category index', function () {
$user = User::factory()->create();
$response = $this->actingAs($user)->get(route('categories.index'));
$response->assertOk();
});