snipe-it/tests/Feature/Accessories/Ui/ShowAccessoryTest.php

51 lines
1.5 KiB
PHP
Raw Permalink Normal View History

2024-12-12 14:30:58 -08:00
<?php
namespace Tests\Feature\Accessories\Ui;
use App\Models\Accessory;
use App\Models\Company;
use App\Models\User;
use Tests\TestCase;
class ShowAccessoryTest extends TestCase
{
public function testRequiresPermissionToViewAccessory()
{
$this->actingAs(User::factory()->create())
->get(route('accessories.show', Accessory::factory()->create()->id))
->assertForbidden();
}
public function testCannotViewAccessoryFromAnotherCompany()
{
$this->settings->enableMultipleFullCompanySupport();
[$companyA, $companyB] = Company::factory()->count(2)->create();
$accessoryForCompanyA = Accessory::factory()->for($companyA)->create();
$userForCompanyB = User::factory()->for($companyB)->viewAccessories()->create();
$this->actingAs($userForCompanyB)
->get(route('accessories.show', $accessoryForCompanyA->id))
->assertForbidden();
}
public function testCanViewAccessory()
{
$accessory = Accessory::factory()->create();
$this->actingAs(User::factory()->viewAccessories()->create())
->get(route('accessories.show', $accessory->id))
->assertOk()
->assertViewIs('accessories.view')
->assertViewHas(['accessory' => $accessory]);
}
public function testPageRenders()
{
$this->actingAs(User::factory()->superuser()->create())
->get(route('accessories.show', Accessory::factory()->create()->id))
->assertOk();
}
2024-12-12 14:30:58 -08:00
}