Andrew Wallo 4 miesięcy temu
rodzic
commit
01288db2d7
1 zmienionych plików z 7 dodań i 35 usunięć
  1. 7
    35
      tests/Feature/Accounting/TransactionTest.php

+ 7
- 35
tests/Feature/Accounting/TransactionTest.php Wyświetl plik

4
 use App\Enums\Accounting\TransactionType;
4
 use App\Enums\Accounting\TransactionType;
5
 use App\Filament\Company\Resources\Accounting\TransactionResource\Pages\ListTransactions;
5
 use App\Filament\Company\Resources\Accounting\TransactionResource\Pages\ListTransactions;
6
 use App\Filament\Forms\Components\JournalEntryRepeater;
6
 use App\Filament\Forms\Components\JournalEntryRepeater;
7
+use App\Filament\Tables\Actions\EditTransactionAction;
7
 use App\Filament\Tables\Actions\ReplicateBulkAction;
8
 use App\Filament\Tables\Actions\ReplicateBulkAction;
8
 use App\Models\Accounting\Account;
9
 use App\Models\Accounting\Account;
9
 use App\Models\Accounting\Transaction;
10
 use App\Models\Accounting\Transaction;
254
         ->account->is($defaultAccount)->toBeTrue()
255
         ->account->is($defaultAccount)->toBeTrue()
255
         ->journalEntries->count()->toBe(2);
256
         ->journalEntries->count()->toBe(2);
256
 })->with([
257
 })->with([
257
-    [TransactionType::Deposit, 'addIncome'],
258
-    [TransactionType::Withdrawal, 'addExpense'],
258
+    [TransactionType::Deposit, 'createDeposit'],
259
+    [TransactionType::Withdrawal, 'createWithdrawal'],
259
 ]);
260
 ]);
260
 
261
 
261
 it('can add a transfer transaction', function () {
262
 it('can add a transfer transaction', function () {
264
     $destinationBankAccount = Account::factory()->withBankAccount('Destination Bank Account')->create();
265
     $destinationBankAccount = Account::factory()->withBankAccount('Destination Bank Account')->create();
265
 
266
 
266
     livewire(ListTransactions::class)
267
     livewire(ListTransactions::class)
267
-        ->mountAction('addTransfer')
268
+        ->mountAction('createTransfer')
268
         ->assertActionDataSet([
269
         ->assertActionDataSet([
269
             'posted_at' => today(),
270
             'posted_at' => today(),
270
             'type' => TransactionType::Transfer,
271
             'type' => TransactionType::Transfer,
297
     $undoRepeaterFake = JournalEntryRepeater::fake();
298
     $undoRepeaterFake = JournalEntryRepeater::fake();
298
 
299
 
299
     livewire(ListTransactions::class)
300
     livewire(ListTransactions::class)
300
-        ->mountAction('addJournalEntry')
301
+        ->mountAction('createJournalEntry')
301
         ->assertActionDataSet([
302
         ->assertActionDataSet([
302
             'posted_at' => today(),
303
             'posted_at' => today(),
303
             'journalEntries' => [
304
             'journalEntries' => [
345
     $newDescription = 'Updated Description';
346
     $newDescription = 'Updated Description';
346
 
347
 
347
     livewire(ListTransactions::class)
348
     livewire(ListTransactions::class)
348
-        ->mountTableAction('editTransaction', $transaction)
349
+        ->mountTableAction(EditTransactionAction::class, $transaction)
349
         ->assertTableActionDataSet([
350
         ->assertTableActionDataSet([
350
             'type' => $transactionType->value,
351
             'type' => $transactionType->value,
351
             'description' => $transaction->description,
352
             'description' => $transaction->description,
367
     TransactionType::Withdrawal,
368
     TransactionType::Withdrawal,
368
 ]);
369
 ]);
369
 
370
 
370
-it('does not show Edit Transfer or Edit Journal Transaction for deposit or withdrawal transactions', function (TransactionType $transactionType) {
371
-    $defaultAccount = Transaction::getUncategorizedAccountByType($transactionType);
372
-
373
-    $transaction = Transaction::factory()
374
-        ->forDefaultBankAccount()
375
-        ->forAccount($defaultAccount)
376
-        ->forType($transactionType, 1000)
377
-        ->create();
378
-
379
-    livewire(ListTransactions::class)
380
-        ->assertTableActionHidden('editTransfer', $transaction)
381
-        ->assertTableActionHidden('editJournalEntry', $transaction);
382
-})->with([
383
-    TransactionType::Deposit,
384
-    TransactionType::Withdrawal,
385
-]);
386
-
387
 it('can update a transfer transaction', function () {
371
 it('can update a transfer transaction', function () {
388
     $transaction = Transaction::factory()
372
     $transaction = Transaction::factory()
389
         ->forDefaultBankAccount()
373
         ->forDefaultBankAccount()
394
     $newDescription = 'Updated Transfer Description';
378
     $newDescription = 'Updated Transfer Description';
395
 
379
 
396
     livewire(ListTransactions::class)
380
     livewire(ListTransactions::class)
397
-        ->mountTableAction('editTransfer', $transaction)
381
+        ->mountTableAction(EditTransactionAction::class, $transaction)
398
         ->assertTableActionDataSet([
382
         ->assertTableActionDataSet([
399
             'type' => TransactionType::Transfer->value,
383
             'type' => TransactionType::Transfer->value,
400
             'description' => $transaction->description,
384
             'description' => $transaction->description,
413
         ->and($transaction->amount)->toEqual('2,000.00');
397
         ->and($transaction->amount)->toEqual('2,000.00');
414
 });
398
 });
415
 
399
 
416
-it('does not show Edit Transaction or Edit Journal Transaction for transfer transactions', function () {
417
-    $transaction = Transaction::factory()
418
-        ->forDefaultBankAccount()
419
-        ->forDestinationBankAccount()
420
-        ->asTransfer(1500)
421
-        ->create();
422
-
423
-    livewire(ListTransactions::class)
424
-        ->assertTableActionHidden('editTransaction', $transaction)
425
-        ->assertTableActionHidden('editJournalEntry', $transaction);
426
-});
427
-
428
 it('replicates a transaction with correct journal entries', function () {
400
 it('replicates a transaction with correct journal entries', function () {
429
     $originalTransaction = Transaction::factory()
401
     $originalTransaction = Transaction::factory()
430
         ->forDefaultBankAccount()
402
         ->forDefaultBankAccount()

Ładowanie…
Anuluj
Zapisz