40 lines
1.1 KiB
PHP
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();
|
|
});
|