mirror of
https://github.com/solidtime-io/solidtime.git
synced 2026-08-15 11:42:15 +01:00
Removed option to update billable rate without updating time entries
This commit is contained in:
committed by
Constantin Graf
parent
be50397775
commit
1dc35f1f55
@@ -91,20 +91,21 @@ class MemberEndpointTest extends ApiEndpointTestAbstract
|
||||
$data = $this->createUserWithPermission([
|
||||
'members:update',
|
||||
]);
|
||||
$member = Member::factory()->forOrganization($data->organization)->role(Role::Admin)->create();
|
||||
$member = Member::factory()->forOrganization($data->organization)->withBillableRate()->role(Role::Admin)->create();
|
||||
$this->assertBillableRateServiceIsUnused();
|
||||
Passport::actingAs($data->user);
|
||||
|
||||
// Act
|
||||
$response = $this->putJson(route('api.v1.members.update', [$data->organization->id, $member]), [
|
||||
'billable_rate' => 10001,
|
||||
'billable_rate' => $member->billable_rate,
|
||||
'role' => Role::Employee->value,
|
||||
]);
|
||||
|
||||
// Assert
|
||||
$response->assertStatus(200);
|
||||
$oldBillableRate = $member->billable_rate;
|
||||
$member->refresh();
|
||||
$this->assertSame(10001, $member->billable_rate);
|
||||
$this->assertSame($oldBillableRate, $member->billable_rate);
|
||||
$this->assertSame(Role::Employee->value, $member->role);
|
||||
}
|
||||
|
||||
@@ -124,7 +125,6 @@ class MemberEndpointTest extends ApiEndpointTestAbstract
|
||||
// Act
|
||||
$response = $this->putJson(route('api.v1.members.update', [$data->organization->getKey(), $data->member]), [
|
||||
'billable_rate' => 10001,
|
||||
'billable_rate_update_time_entries' => true,
|
||||
]);
|
||||
|
||||
// Assert
|
||||
|
||||
@@ -142,7 +142,6 @@ class OrganizationEndpointTest extends ApiEndpointTestAbstract
|
||||
$response = $this->withoutExceptionHandling()->putJson(route('api.v1.organizations.update', [$data->organization->getKey()]), [
|
||||
'name' => $organizationFake->name,
|
||||
'billable_rate' => $organizationFake->billable_rate,
|
||||
'billable_rate_update_time_entries' => true,
|
||||
]);
|
||||
|
||||
// Assert
|
||||
|
||||
@@ -507,7 +507,7 @@ class ProjectEndpointTest extends ApiEndpointTestAbstract
|
||||
$this->assertFalse($project->is_archived);
|
||||
}
|
||||
|
||||
public function test_update_endpoint_can_update_projects_billable_rate(): void
|
||||
public function test_update_endpoint_does_not_update_billable_rates_of_time_entries_if_billable_rate_is_unchanged(): void
|
||||
{
|
||||
// Arrange
|
||||
$data = $this->createUserWithPermission([
|
||||
@@ -523,7 +523,7 @@ class ProjectEndpointTest extends ApiEndpointTestAbstract
|
||||
'name' => $projectFake->name,
|
||||
'color' => $projectFake->color,
|
||||
'is_billable' => $projectFake->is_billable,
|
||||
'billable_rate' => 10002,
|
||||
'billable_rate' => $project->billable_rate,
|
||||
]);
|
||||
|
||||
// Assert
|
||||
@@ -531,7 +531,7 @@ class ProjectEndpointTest extends ApiEndpointTestAbstract
|
||||
$this->assertDatabaseHas(Project::class, [
|
||||
'name' => $projectFake->name,
|
||||
'color' => $projectFake->color,
|
||||
'billable_rate' => 10002,
|
||||
'billable_rate' => $project->billable_rate,
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -556,7 +556,6 @@ class ProjectEndpointTest extends ApiEndpointTestAbstract
|
||||
'color' => $projectFake->color,
|
||||
'is_billable' => $projectFake->is_billable,
|
||||
'billable_rate' => 10003,
|
||||
'billable_rate_update_time_entries' => true,
|
||||
]);
|
||||
|
||||
// Assert
|
||||
|
||||
@@ -281,28 +281,27 @@ class ProjectMemberEndpointTest extends ApiEndpointTestAbstract
|
||||
$response->assertForbidden();
|
||||
}
|
||||
|
||||
public function test_update_endpoint_updates_project_member(): void
|
||||
public function test_update_endpoint_updates_project_member_with_unchanged_billable_rate(): void
|
||||
{
|
||||
// Arrange
|
||||
$data = $this->createUserWithPermission([
|
||||
'project-members:update',
|
||||
]);
|
||||
$project = Project::factory()->forOrganization($data->organization)->create();
|
||||
$billableRate = 1001;
|
||||
$projectMember = ProjectMember::factory()->forProject($project)->create();
|
||||
$this->assertBillableRateServiceIsUnused();
|
||||
Passport::actingAs($data->user);
|
||||
|
||||
// Act
|
||||
$response = $this->putJson(route('api.v1.project-members.update', [$data->organization->getKey(), $projectMember->getKey()]), [
|
||||
'billable_rate' => $billableRate,
|
||||
'billable_rate' => $projectMember->billable_rate,
|
||||
]);
|
||||
|
||||
// Assert
|
||||
$response->assertStatus(200);
|
||||
$this->assertDatabaseHas(ProjectMember::class, [
|
||||
'id' => $projectMember->getKey(),
|
||||
'billable_rate' => $billableRate,
|
||||
'billable_rate' => $projectMember->billable_rate,
|
||||
'member_id' => $projectMember->member_id,
|
||||
]);
|
||||
}
|
||||
@@ -326,7 +325,6 @@ class ProjectMemberEndpointTest extends ApiEndpointTestAbstract
|
||||
// Act
|
||||
$response = $this->putJson(route('api.v1.project-members.update', [$data->organization->getKey(), $projectMember->getKey()]), [
|
||||
'billable_rate' => $billableRate,
|
||||
'billable_rate_update_time_entries' => true,
|
||||
]);
|
||||
|
||||
// Assert
|
||||
|
||||
Reference in New Issue
Block a user