Migrated endpoints from user to member; Renamed membership to member

This commit is contained in:
Constantin Graf
2024-05-13 19:50:50 +02:00
parent ba335b4f05
commit b2365e2778
64 changed files with 853 additions and 456 deletions

View File

@@ -4,10 +4,10 @@ declare(strict_types=1);
namespace Tests\Unit\Model;
use App\Models\Member;
use App\Models\Organization;
use App\Models\Project;
use App\Models\ProjectMember;
use App\Models\User;
class ProjectMemberModelTest extends ModelTestAbstract
{
@@ -15,8 +15,8 @@ class ProjectMemberModelTest extends ModelTestAbstract
{
// Arrange
$project = Project::factory()->create();
$user = User::factory()->create();
$projectMember = ProjectMember::factory()->forProject($project)->forUser($user)->create();
$member = Member::factory()->create();
$projectMember = ProjectMember::factory()->forProject($project)->forMember($member)->create();
// Act
$projectMember->refresh();
@@ -27,19 +27,19 @@ class ProjectMemberModelTest extends ModelTestAbstract
$this->assertTrue($projectRel->is($project));
}
public function test_it_belongs_to_a_user(): void
public function test_it_belongs_to_a_member(): void
{
// Arrange
$user = User::factory()->create();
$projectMember = ProjectMember::factory()->forUser($user)->create();
$member = Member::factory()->create();
$projectMember = ProjectMember::factory()->forMember($member)->create();
// Act
$projectMember->refresh();
$userRel = $projectMember->user;
$memberRel = $projectMember->member;
// Assert
$this->assertNotNull($userRel);
$this->assertTrue($userRel->is($user));
$this->assertNotNull($memberRel);
$this->assertTrue($memberRel->is($member));
}
public function test_scope_where_belongs_to_organization_filters_project_members_to_only_retrieve_project_members_that_belong_to_a_project_of_the_organization(): void

View File

@@ -5,11 +5,11 @@ declare(strict_types=1);
namespace Tests\Unit\Model;
use App\Models\Client;
use App\Models\Member;
use App\Models\Organization;
use App\Models\Project;
use App\Models\ProjectMember;
use App\Models\Task;
use App\Models\User;
class ProjectModelTest extends ModelTestAbstract
{
@@ -91,14 +91,14 @@ class ProjectModelTest extends ModelTestAbstract
public function test_scope_visible_by_user_filters_so_that_only_public_projects_or_projects_where_the_user_is_member_are_shown(): void
{
// Arrange
$user = User::factory()->create();
$member = Member::factory()->create();
$projectPrivate = Project::factory()->isPrivate()->create();
$projectPublic = Project::factory()->isPublic()->create();
$projectPrivateButMember = Project::factory()->isPrivate()->create();
ProjectMember::factory()->forProject($projectPrivateButMember)->forUser($user)->create();
ProjectMember::factory()->forProject($projectPrivateButMember)->forMember($member)->create();
// Act
$projectsVisible = Project::query()->visibleByUser($user)->get();
$projectsVisible = Project::query()->visibleByUser($member->user)->get();
$allProjects = Project::query()->get();
// Assert

View File

@@ -4,12 +4,12 @@ declare(strict_types=1);
namespace Tests\Unit\Model;
use App\Models\Member;
use App\Models\Organization;
use App\Models\Project;
use App\Models\ProjectMember;
use App\Models\Task;
use App\Models\TimeEntry;
use App\Models\User;
class TaskModelTest extends ModelTestAbstract
{
@@ -62,17 +62,17 @@ class TaskModelTest extends ModelTestAbstract
public function test_scope_visible_by_user_filters_so_that_only_tasks_of_public_projects_or_projects_where_the_user_is_member_are_shown(): void
{
// Arrange
$user = User::factory()->create();
$member = Member::factory()->create();
$projectPrivate = Project::factory()->isPrivate()->create();
$projectPublic = Project::factory()->isPublic()->create();
$projectPrivateButMember = Project::factory()->isPrivate()->create();
ProjectMember::factory()->forProject($projectPrivateButMember)->forUser($user)->create();
ProjectMember::factory()->forProject($projectPrivateButMember)->forMember($member)->create();
$taskPrivate = Task::factory()->forProject($projectPrivate)->create();
$taskPublic = Task::factory()->forProject($projectPublic)->create();
$taskPrivateButMember = Task::factory()->forProject($projectPrivateButMember)->create();
// Act
$tasksVisible = Task::query()->visibleByUser($user)->get();
$tasksVisible = Task::query()->visibleByUser($member->user)->get();
$allTasks = Task::query()->get();
// Assert

View File

@@ -4,6 +4,8 @@ declare(strict_types=1);
namespace Tests\Unit\Model;
use App\Enums\Role;
use App\Models\Member;
use App\Models\Organization;
use App\Models\ProjectMember;
use App\Models\TimeEntry;
@@ -57,12 +59,12 @@ class UserModelTest extends ModelTestAbstract
$organization = Organization::factory()->withOwner($owner)->create();
$user = User::factory()->create();
$user->organizations()->attach($organization, [
'role' => 'employee',
'role' => Role::Employee->value,
]);
$otherOrganization = Organization::factory()->create();
$otherUser = User::factory()->create();
$otherUser->organizations()->attach($otherOrganization, [
'role' => 'employee',
'role' => Role::Employee->value,
]);
// Act
@@ -98,8 +100,10 @@ class UserModelTest extends ModelTestAbstract
// Arrange
$user = User::factory()->create();
$otherUser = User::factory()->create();
$projectMembers = ProjectMember::factory()->forUser($user)->createMany(3);
$otherProjectMembers = ProjectMember::factory()->forUser($otherUser)->createMany(3);
$member = Member::factory()->forUser($user)->create();
$otherMember = Member::factory()->forUser($otherUser)->create();
$projectMembers = ProjectMember::factory()->forMember($member)->createMany(3);
$otherProjectMembers = ProjectMember::factory()->forMember($otherMember)->createMany(3);
// Act
$user->refresh();