snipe-it/tests/Feature/Accessories/Ui/ShowAccessoryTest.php
snipe 54cc427ef5 Updated tests for new RMB behavior
Signed-off-by: snipe <snipe@snipe.net>
2025-02-20 18:28:46 +00:00

51 lines
1.5 KiB
PHP

<?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()))
->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))
->assertStatus(302);
}
public function testCanViewAccessory()
{
$accessory = Accessory::factory()->create();
$this->actingAs(User::factory()->viewAccessories()->create())
->get(route('accessories.show', $accessory))
->assertOk()
->assertViewIs('accessories.view')
->assertViewHas(['accessory' => $accessory]);
}
public function testPageRenders()
{
$this->actingAs(User::factory()->superuser()->create())
->get(route('accessories.show', Accessory::factory()->create()))
->assertOk();
}
}