2024-10-28 16:59:58 -05:00
|
|
|
<?php
|
|
|
|
|
|
2025-01-28 17:33:54 -06:00
|
|
|
declare(strict_types=1);
|
|
|
|
|
|
2024-10-28 16:59:58 -05:00
|
|
|
namespace Tests;
|
|
|
|
|
|
|
|
|
|
use App\Models\Portfolio;
|
2025-01-28 17:14:49 -06:00
|
|
|
use App\Models\User;
|
2024-10-28 16:59:58 -05:00
|
|
|
use Illuminate\Foundation\Testing\RefreshDatabase;
|
|
|
|
|
|
|
|
|
|
class PortfoliosTest extends TestCase
|
|
|
|
|
{
|
|
|
|
|
use RefreshDatabase;
|
|
|
|
|
|
|
|
|
|
public function test_owner_is_assigned_to_portfolio_on_create(): void
|
|
|
|
|
{
|
|
|
|
|
$this->actingAs($user = User::factory()->create());
|
|
|
|
|
|
|
|
|
|
$portfolio = Portfolio::factory()->create();
|
|
|
|
|
|
|
|
|
|
$this->assertEquals($user->id, $portfolio->owner_id);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function test_owner_can_be_forced_on_create(): void
|
|
|
|
|
{
|
|
|
|
|
$this->actingAs($user = User::factory()->create());
|
|
|
|
|
|
|
|
|
|
$portfolio = Portfolio::factory()->make();
|
|
|
|
|
$portfolio->owner_id = $user->id;
|
|
|
|
|
$portfolio->save();
|
|
|
|
|
|
|
|
|
|
$this->assertEquals($user->id, $portfolio->owner_id);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function test_owner_cannot_be_changed_on_update(): void
|
|
|
|
|
{
|
|
|
|
|
$this->actingAs($owner = User::factory()->create());
|
|
|
|
|
|
|
|
|
|
$interloper = User::factory()->create();
|
|
|
|
|
|
|
|
|
|
$portfolio = Portfolio::factory()->create();
|
|
|
|
|
$portfolio->owner_id = $interloper->id;
|
|
|
|
|
$portfolio->save();
|
|
|
|
|
|
|
|
|
|
$this->assertEquals($owner->id, $portfolio->owner_id);
|
|
|
|
|
}
|
|
|
|
|
}
|