update
This commit is contained in:
@@ -743,7 +743,7 @@ class AdminUserListStatsTest extends TestCase
|
||||
'buyer' => 9002,
|
||||
'num_card' => 5,
|
||||
'seller' => 9001,
|
||||
'date' => Carbon::now()->format('Y-m-d'),
|
||||
'date' => Carbon::now()->startOfMonth()->toDateString(),
|
||||
]);
|
||||
|
||||
// Transaction 2 (newest)
|
||||
@@ -751,14 +751,14 @@ class AdminUserListStatsTest extends TestCase
|
||||
'buyer' => 9002,
|
||||
'num_card' => 10,
|
||||
'seller' => 9001,
|
||||
'date' => Carbon::now()->format('Y-m-d'),
|
||||
'date' => Carbon::now()->startOfMonth()->addDay()->toDateString(),
|
||||
]);
|
||||
|
||||
// Try to update older Transaction 1: change num_card from 5 to 6 (increase of 1)
|
||||
$response = $this->actingAs($admin)->put(route('admin.add_cards.update', $oldAddCard->id), [
|
||||
'num_card' => 6,
|
||||
'seller' => 9001,
|
||||
'date' => Carbon::now()->format('Y-m-d'),
|
||||
'date' => Carbon::now()->startOfMonth()->toDateString(),
|
||||
]);
|
||||
|
||||
$response->assertRedirect();
|
||||
@@ -771,6 +771,72 @@ class AdminUserListStatsTest extends TestCase
|
||||
$this->assertEquals(16, $member->card);
|
||||
}
|
||||
|
||||
public function test_update_add_card_merges_records_on_same_date(): void
|
||||
{
|
||||
$admin = User::create([
|
||||
'msnv' => 9001,
|
||||
'name' => 'Admin User',
|
||||
'mail' => 'admin@example.com',
|
||||
'pass' => md5('password'),
|
||||
'departments' => 1,
|
||||
'role' => config('constants.ROLE_ADMIN'),
|
||||
'status' => config('constants.STATUS_ACTIVE'),
|
||||
'card' => 0,
|
||||
'flag_send' => config('constants.FLAG_SEND_DISABLED'),
|
||||
'first_login' => config('constants.FIRST_LOGIN_FALSE'),
|
||||
]);
|
||||
|
||||
$member = User::create([
|
||||
'msnv' => 9002,
|
||||
'name' => 'Member User',
|
||||
'mail' => 'member@example.com',
|
||||
'pass' => md5('password'),
|
||||
'departments' => 1,
|
||||
'role' => config('constants.ROLE_MEMBER'),
|
||||
'status' => config('constants.STATUS_ACTIVE'),
|
||||
'card' => 15,
|
||||
'flag_send' => config('constants.FLAG_SEND_ENABLED'),
|
||||
'first_login' => config('constants.FIRST_LOGIN_FALSE'),
|
||||
]);
|
||||
|
||||
// Record A on day 1
|
||||
$recordA = \App\Models\AddCard::create([
|
||||
'buyer' => 9002,
|
||||
'num_card' => 5,
|
||||
'seller' => 9001,
|
||||
'date' => Carbon::now()->startOfMonth()->toDateString(),
|
||||
]);
|
||||
|
||||
// Record B on day 10
|
||||
$recordB = \App\Models\AddCard::create([
|
||||
'buyer' => 9002,
|
||||
'num_card' => 10,
|
||||
'seller' => 9001,
|
||||
'date' => Carbon::now()->startOfMonth()->addDays(9)->toDateString(),
|
||||
]);
|
||||
|
||||
// Update Record B: set date to day 1, and set num_card to 10
|
||||
$response = $this->actingAs($admin)->put(route('admin.add_cards.update', $recordB->id), [
|
||||
'num_card' => 10,
|
||||
'seller' => 9001,
|
||||
'date' => Carbon::now()->startOfMonth()->toDateString(),
|
||||
]);
|
||||
|
||||
$response->assertRedirect();
|
||||
$response->assertSessionHasNoErrors();
|
||||
|
||||
// Record B should be deleted (merged)
|
||||
$this->assertNull(\App\Models\AddCard::find($recordB->id));
|
||||
|
||||
// Record A should have 15 cards (5 + 10)
|
||||
$recordA->refresh();
|
||||
$this->assertEquals(15, $recordA->num_card);
|
||||
|
||||
// Member's card balance remains 15
|
||||
$member->refresh();
|
||||
$this->assertEquals(15, $member->card);
|
||||
}
|
||||
|
||||
public function test_delete_add_card_successfully_updates_balance(): void
|
||||
{
|
||||
$admin = User::create([
|
||||
|
||||
Reference in New Issue
Block a user