Andrew Wallo 1 vuosi sitten
vanhempi
commit
fa9378604c

+ 1
- 1
app/Facades/Accounting.php Näytä tiedosto

@@ -13,7 +13,7 @@ use Illuminate\Support\Facades\Facade;
13 13
  * @method static Money getNetMovement(Account $account, string $startDate, string $endDate)
14 14
  * @method static Money|null getStartingBalance(Account $account, string $startDate)
15 15
  * @method static Money|null getEndingBalance(Account $account, string $startDate, string $endDate)
16
- * @method static array getBalances(Account $account, string $startDate, string $endDate)
16
+ * @method static array getBalances(Account $account, string $startDate, string $endDate, array $fields)
17 17
  * @method static Money getTotalBalanceForAllBankAccounts(string $startDate, string $endDate)
18 18
  * @method static string getEarliestTransactionDate()
19 19
  *

+ 210
- 209
composer.lock
File diff suppressed because it is too large
Näytä tiedosto


+ 79
- 79
package-lock.json Näytä tiedosto

@@ -541,9 +541,9 @@
541 541
             }
542 542
         },
543 543
         "node_modules/@rollup/rollup-android-arm-eabi": {
544
-            "version": "4.21.3",
545
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.21.3.tgz",
546
-            "integrity": "sha512-MmKSfaB9GX+zXl6E8z4koOr/xU63AMVleLEa64v7R0QF/ZloMs5vcD1sHgM64GXXS1csaJutG+ddtzcueI/BLg==",
544
+            "version": "4.22.4",
545
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.4.tgz",
546
+            "integrity": "sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==",
547 547
             "cpu": [
548 548
                 "arm"
549 549
             ],
@@ -555,9 +555,9 @@
555 555
             ]
556 556
         },
557 557
         "node_modules/@rollup/rollup-android-arm64": {
558
-            "version": "4.21.3",
559
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.21.3.tgz",
560
-            "integrity": "sha512-zrt8ecH07PE3sB4jPOggweBjJMzI1JG5xI2DIsUbkA+7K+Gkjys6eV7i9pOenNSDJH3eOr/jLb/PzqtmdwDq5g==",
558
+            "version": "4.22.4",
559
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.4.tgz",
560
+            "integrity": "sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==",
561 561
             "cpu": [
562 562
                 "arm64"
563 563
             ],
@@ -569,9 +569,9 @@
569 569
             ]
570 570
         },
571 571
         "node_modules/@rollup/rollup-darwin-arm64": {
572
-            "version": "4.21.3",
573
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.21.3.tgz",
574
-            "integrity": "sha512-P0UxIOrKNBFTQaXTxOH4RxuEBVCgEA5UTNV6Yz7z9QHnUJ7eLX9reOd/NYMO3+XZO2cco19mXTxDMXxit4R/eQ==",
572
+            "version": "4.22.4",
573
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.4.tgz",
574
+            "integrity": "sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==",
575 575
             "cpu": [
576 576
                 "arm64"
577 577
             ],
@@ -583,9 +583,9 @@
583 583
             ]
584 584
         },
585 585
         "node_modules/@rollup/rollup-darwin-x64": {
586
-            "version": "4.21.3",
587
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.21.3.tgz",
588
-            "integrity": "sha512-L1M0vKGO5ASKntqtsFEjTq/fD91vAqnzeaF6sfNAy55aD+Hi2pBI5DKwCO+UNDQHWsDViJLqshxOahXyLSh3EA==",
586
+            "version": "4.22.4",
587
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.4.tgz",
588
+            "integrity": "sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==",
589 589
             "cpu": [
590 590
                 "x64"
591 591
             ],
@@ -597,9 +597,9 @@
597 597
             ]
598 598
         },
599 599
         "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
600
-            "version": "4.21.3",
601
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.21.3.tgz",
602
-            "integrity": "sha512-btVgIsCjuYFKUjopPoWiDqmoUXQDiW2A4C3Mtmp5vACm7/GnyuprqIDPNczeyR5W8rTXEbkmrJux7cJmD99D2g==",
600
+            "version": "4.22.4",
601
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.4.tgz",
602
+            "integrity": "sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==",
603 603
             "cpu": [
604 604
                 "arm"
605 605
             ],
@@ -611,9 +611,9 @@
611 611
             ]
612 612
         },
613 613
         "node_modules/@rollup/rollup-linux-arm-musleabihf": {
614
-            "version": "4.21.3",
615
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.21.3.tgz",
616
-            "integrity": "sha512-zmjbSphplZlau6ZTkxd3+NMtE4UKVy7U4aVFMmHcgO5CUbw17ZP6QCgyxhzGaU/wFFdTfiojjbLG3/0p9HhAqA==",
614
+            "version": "4.22.4",
615
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.4.tgz",
616
+            "integrity": "sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==",
617 617
             "cpu": [
618 618
                 "arm"
619 619
             ],
@@ -625,9 +625,9 @@
625 625
             ]
626 626
         },
627 627
         "node_modules/@rollup/rollup-linux-arm64-gnu": {
628
-            "version": "4.21.3",
629
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.21.3.tgz",
630
-            "integrity": "sha512-nSZfcZtAnQPRZmUkUQwZq2OjQciR6tEoJaZVFvLHsj0MF6QhNMg0fQ6mUOsiCUpTqxTx0/O6gX0V/nYc7LrgPw==",
628
+            "version": "4.22.4",
629
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.4.tgz",
630
+            "integrity": "sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==",
631 631
             "cpu": [
632 632
                 "arm64"
633 633
             ],
@@ -639,9 +639,9 @@
639 639
             ]
640 640
         },
641 641
         "node_modules/@rollup/rollup-linux-arm64-musl": {
642
-            "version": "4.21.3",
643
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.21.3.tgz",
644
-            "integrity": "sha512-MnvSPGO8KJXIMGlQDYfvYS3IosFN2rKsvxRpPO2l2cum+Z3exiExLwVU+GExL96pn8IP+GdH8Tz70EpBhO0sIQ==",
642
+            "version": "4.22.4",
643
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.4.tgz",
644
+            "integrity": "sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==",
645 645
             "cpu": [
646 646
                 "arm64"
647 647
             ],
@@ -653,9 +653,9 @@
653 653
             ]
654 654
         },
655 655
         "node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
656
-            "version": "4.21.3",
657
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.21.3.tgz",
658
-            "integrity": "sha512-+W+p/9QNDr2vE2AXU0qIy0qQE75E8RTwTwgqS2G5CRQ11vzq0tbnfBd6brWhS9bCRjAjepJe2fvvkvS3dno+iw==",
656
+            "version": "4.22.4",
657
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.4.tgz",
658
+            "integrity": "sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==",
659 659
             "cpu": [
660 660
                 "ppc64"
661 661
             ],
@@ -667,9 +667,9 @@
667 667
             ]
668 668
         },
669 669
         "node_modules/@rollup/rollup-linux-riscv64-gnu": {
670
-            "version": "4.21.3",
671
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.21.3.tgz",
672
-            "integrity": "sha512-yXH6K6KfqGXaxHrtr+Uoy+JpNlUlI46BKVyonGiaD74ravdnF9BUNC+vV+SIuB96hUMGShhKV693rF9QDfO6nQ==",
670
+            "version": "4.22.4",
671
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.4.tgz",
672
+            "integrity": "sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==",
673 673
             "cpu": [
674 674
                 "riscv64"
675 675
             ],
@@ -681,9 +681,9 @@
681 681
             ]
682 682
         },
683 683
         "node_modules/@rollup/rollup-linux-s390x-gnu": {
684
-            "version": "4.21.3",
685
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.21.3.tgz",
686
-            "integrity": "sha512-R8cwY9wcnApN/KDYWTH4gV/ypvy9yZUHlbJvfaiXSB48JO3KpwSpjOGqO4jnGkLDSk1hgjYkTbTt6Q7uvPf8eg==",
684
+            "version": "4.22.4",
685
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.4.tgz",
686
+            "integrity": "sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==",
687 687
             "cpu": [
688 688
                 "s390x"
689 689
             ],
@@ -695,9 +695,9 @@
695 695
             ]
696 696
         },
697 697
         "node_modules/@rollup/rollup-linux-x64-gnu": {
698
-            "version": "4.21.3",
699
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.21.3.tgz",
700
-            "integrity": "sha512-kZPbX/NOPh0vhS5sI+dR8L1bU2cSO9FgxwM8r7wHzGydzfSjLRCFAT87GR5U9scj2rhzN3JPYVC7NoBbl4FZ0g==",
698
+            "version": "4.22.4",
699
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.4.tgz",
700
+            "integrity": "sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==",
701 701
             "cpu": [
702 702
                 "x64"
703 703
             ],
@@ -709,9 +709,9 @@
709 709
             ]
710 710
         },
711 711
         "node_modules/@rollup/rollup-linux-x64-musl": {
712
-            "version": "4.21.3",
713
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.21.3.tgz",
714
-            "integrity": "sha512-S0Yq+xA1VEH66uiMNhijsWAafffydd2X5b77eLHfRmfLsRSpbiAWiRHV6DEpz6aOToPsgid7TI9rGd6zB1rhbg==",
712
+            "version": "4.22.4",
713
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.4.tgz",
714
+            "integrity": "sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==",
715 715
             "cpu": [
716 716
                 "x64"
717 717
             ],
@@ -723,9 +723,9 @@
723 723
             ]
724 724
         },
725 725
         "node_modules/@rollup/rollup-win32-arm64-msvc": {
726
-            "version": "4.21.3",
727
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.21.3.tgz",
728
-            "integrity": "sha512-9isNzeL34yquCPyerog+IMCNxKR8XYmGd0tHSV+OVx0TmE0aJOo9uw4fZfUuk2qxobP5sug6vNdZR6u7Mw7Q+Q==",
726
+            "version": "4.22.4",
727
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.4.tgz",
728
+            "integrity": "sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==",
729 729
             "cpu": [
730 730
                 "arm64"
731 731
             ],
@@ -737,9 +737,9 @@
737 737
             ]
738 738
         },
739 739
         "node_modules/@rollup/rollup-win32-ia32-msvc": {
740
-            "version": "4.21.3",
741
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.21.3.tgz",
742
-            "integrity": "sha512-nMIdKnfZfzn1Vsk+RuOvl43ONTZXoAPUUxgcU0tXooqg4YrAqzfKzVenqqk2g5efWh46/D28cKFrOzDSW28gTA==",
740
+            "version": "4.22.4",
741
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.4.tgz",
742
+            "integrity": "sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==",
743 743
             "cpu": [
744 744
                 "ia32"
745 745
             ],
@@ -751,9 +751,9 @@
751 751
             ]
752 752
         },
753 753
         "node_modules/@rollup/rollup-win32-x64-msvc": {
754
-            "version": "4.21.3",
755
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.21.3.tgz",
756
-            "integrity": "sha512-fOvu7PCQjAj4eWDEuD8Xz5gpzFqXzGlxHZozHP4b9Jxv9APtdxL6STqztDzMLuRXEc4UpXGGhx029Xgm91QBeA==",
754
+            "version": "4.22.4",
755
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.4.tgz",
756
+            "integrity": "sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==",
757 757
             "cpu": [
758 758
                 "x64"
759 759
             ],
@@ -998,9 +998,9 @@
998 998
             }
999 999
         },
1000 1000
         "node_modules/caniuse-lite": {
1001
-            "version": "1.0.30001660",
1002
-            "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001660.tgz",
1003
-            "integrity": "sha512-GacvNTTuATm26qC74pt+ad1fW15mlQ/zuTzzY1ZoIzECTP8HURDfF43kNxPgf7H1jmelCBQTTbBNxdSXOA7Bqg==",
1001
+            "version": "1.0.30001663",
1002
+            "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001663.tgz",
1003
+            "integrity": "sha512-o9C3X27GLKbLeTYZ6HBOLU1tsAcBZsLis28wrVzddShCS16RujjHp9GDHKZqrB3meE0YjhawvMFsGb/igqiPzA==",
1004 1004
             "dev": true,
1005 1005
             "funding": [
1006 1006
                 {
@@ -1159,9 +1159,9 @@
1159 1159
             "license": "MIT"
1160 1160
         },
1161 1161
         "node_modules/electron-to-chromium": {
1162
-            "version": "1.5.25",
1163
-            "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.25.tgz",
1164
-            "integrity": "sha512-kMb204zvK3PsSlgvvwzI3wBIcAw15tRkYk+NQdsjdDtcQWTp2RABbMQ9rUBy8KNEOM+/E6ep+XC3AykiWZld4g==",
1162
+            "version": "1.5.28",
1163
+            "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.28.tgz",
1164
+            "integrity": "sha512-VufdJl+rzaKZoYVUijN13QcXVF5dWPZANeFTLNy+OSpHdDL5ynXTF35+60RSBbaQYB1ae723lQXHCrf4pyLsMw==",
1165 1165
             "dev": true,
1166 1166
             "license": "ISC"
1167 1167
         },
@@ -2171,9 +2171,9 @@
2171 2171
             }
2172 2172
         },
2173 2173
         "node_modules/rollup": {
2174
-            "version": "4.21.3",
2175
-            "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.21.3.tgz",
2176
-            "integrity": "sha512-7sqRtBNnEbcBtMeRVc6VRsJMmpI+JU1z9VTvW8D4gXIYQFz0aLcsE6rRkyghZkLfEgUZgVvOG7A5CVz/VW5GIA==",
2174
+            "version": "4.22.4",
2175
+            "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.22.4.tgz",
2176
+            "integrity": "sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==",
2177 2177
             "dev": true,
2178 2178
             "license": "MIT",
2179 2179
             "dependencies": {
@@ -2187,22 +2187,22 @@
2187 2187
                 "npm": ">=8.0.0"
2188 2188
             },
2189 2189
             "optionalDependencies": {
2190
-                "@rollup/rollup-android-arm-eabi": "4.21.3",
2191
-                "@rollup/rollup-android-arm64": "4.21.3",
2192
-                "@rollup/rollup-darwin-arm64": "4.21.3",
2193
-                "@rollup/rollup-darwin-x64": "4.21.3",
2194
-                "@rollup/rollup-linux-arm-gnueabihf": "4.21.3",
2195
-                "@rollup/rollup-linux-arm-musleabihf": "4.21.3",
2196
-                "@rollup/rollup-linux-arm64-gnu": "4.21.3",
2197
-                "@rollup/rollup-linux-arm64-musl": "4.21.3",
2198
-                "@rollup/rollup-linux-powerpc64le-gnu": "4.21.3",
2199
-                "@rollup/rollup-linux-riscv64-gnu": "4.21.3",
2200
-                "@rollup/rollup-linux-s390x-gnu": "4.21.3",
2201
-                "@rollup/rollup-linux-x64-gnu": "4.21.3",
2202
-                "@rollup/rollup-linux-x64-musl": "4.21.3",
2203
-                "@rollup/rollup-win32-arm64-msvc": "4.21.3",
2204
-                "@rollup/rollup-win32-ia32-msvc": "4.21.3",
2205
-                "@rollup/rollup-win32-x64-msvc": "4.21.3",
2190
+                "@rollup/rollup-android-arm-eabi": "4.22.4",
2191
+                "@rollup/rollup-android-arm64": "4.22.4",
2192
+                "@rollup/rollup-darwin-arm64": "4.22.4",
2193
+                "@rollup/rollup-darwin-x64": "4.22.4",
2194
+                "@rollup/rollup-linux-arm-gnueabihf": "4.22.4",
2195
+                "@rollup/rollup-linux-arm-musleabihf": "4.22.4",
2196
+                "@rollup/rollup-linux-arm64-gnu": "4.22.4",
2197
+                "@rollup/rollup-linux-arm64-musl": "4.22.4",
2198
+                "@rollup/rollup-linux-powerpc64le-gnu": "4.22.4",
2199
+                "@rollup/rollup-linux-riscv64-gnu": "4.22.4",
2200
+                "@rollup/rollup-linux-s390x-gnu": "4.22.4",
2201
+                "@rollup/rollup-linux-x64-gnu": "4.22.4",
2202
+                "@rollup/rollup-linux-x64-musl": "4.22.4",
2203
+                "@rollup/rollup-win32-arm64-msvc": "4.22.4",
2204
+                "@rollup/rollup-win32-ia32-msvc": "4.22.4",
2205
+                "@rollup/rollup-win32-x64-msvc": "4.22.4",
2206 2206
                 "fsevents": "~2.3.2"
2207 2207
             }
2208 2208
         },
@@ -2417,9 +2417,9 @@
2417 2417
             }
2418 2418
         },
2419 2419
         "node_modules/tailwindcss": {
2420
-            "version": "3.4.12",
2421
-            "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.12.tgz",
2422
-            "integrity": "sha512-Htf/gHj2+soPb9UayUNci/Ja3d8pTmu9ONTfh4QY8r3MATTZOzmv6UYWF7ZwikEIC8okpfqmGqrmDehua8mF8w==",
2420
+            "version": "3.4.13",
2421
+            "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.13.tgz",
2422
+            "integrity": "sha512-KqjHOJKogOUt5Bs752ykCeiwvi0fKVkr5oqsFNt/8px/tA8scFPIlkygsf6jXrfCqGHz7VflA6+yytWuM+XhFw==",
2423 2423
             "dev": true,
2424 2424
             "license": "MIT",
2425 2425
             "dependencies": {
@@ -2550,9 +2550,9 @@
2550 2550
             "license": "MIT"
2551 2551
         },
2552 2552
         "node_modules/vite": {
2553
-            "version": "5.4.6",
2554
-            "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.6.tgz",
2555
-            "integrity": "sha512-IeL5f8OO5nylsgzd9tq4qD2QqI0k2CQLGrWD0rCN0EQJZpBK5vJAx0I+GDkMOXxQX/OfFHMuLIx6ddAxGX/k+Q==",
2553
+            "version": "5.4.7",
2554
+            "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.7.tgz",
2555
+            "integrity": "sha512-5l2zxqMEPVENgvzTuBpHer2awaetimj2BGkhBPdnwKbPNOlHsODU+oiazEZzLK7KhAnOrO+XGYJYn4ZlUhDtDQ==",
2556 2556
             "dev": true,
2557 2557
             "license": "MIT",
2558 2558
             "dependencies": {

+ 103
- 0
tests/Feature/Reports/AccountBalancesReportTest.php Näytä tiedosto

@@ -0,0 +1,103 @@
1
+<?php
2
+
3
+use App\Facades\Accounting;
4
+use App\Factories\ReportDateFactory;
5
+use App\Filament\Company\Pages\Reports\AccountBalances;
6
+use App\Models\Accounting\Transaction;
7
+
8
+use function Pest\Livewire\livewire;
9
+
10
+it('correctly builds a account balances report', function () {
11
+    $testCompany = $this->testCompany;
12
+
13
+    $reportDatesDTO = ReportDateFactory::create($testCompany);
14
+    $defaultDateRange = $reportDatesDTO->defaultDateRange;
15
+    $defaultStartDate = $reportDatesDTO->defaultStartDate->toImmutable();
16
+    $defaultEndDate = $reportDatesDTO->defaultEndDate->toImmutable();
17
+
18
+    $depositAmount = 1000;
19
+    $withdrawalAmount = 1000;
20
+    $depositCount = 10;
21
+    $withdrawalCount = 10;
22
+
23
+    // Create transactions for the company
24
+    Transaction::factory()
25
+        ->forDefaultBankAccount()
26
+        ->forUncategorizedRevenue()
27
+        ->asDeposit($depositAmount)
28
+        ->count($depositCount)
29
+        ->state([
30
+            'posted_at' => $defaultStartDate->subWeek(),
31
+        ])
32
+        ->create();
33
+
34
+    Transaction::factory()
35
+        ->forDefaultBankAccount()
36
+        ->forUncategorizedExpense()
37
+        ->asWithdrawal($withdrawalAmount)
38
+        ->count($withdrawalCount)
39
+        ->state([
40
+            'posted_at' => $defaultEndDate,
41
+        ])
42
+        ->create();
43
+
44
+    $defaultBankAccount = $testCompany->default->bankAccount->account;
45
+
46
+    $fields = $defaultBankAccount->category->getRelevantBalanceFields();
47
+
48
+    $expectedBalances = Accounting::getBalances($defaultBankAccount, $defaultStartDate->toDateString(), $defaultEndDate->toDateString(), $fields);
49
+
50
+    $formattedExpectedBalances = formatReportBalances($expectedBalances);
51
+
52
+    livewire(AccountBalances::class)
53
+        ->assertFormSet([
54
+            'deferredFilters.dateRange' => $defaultDateRange,
55
+            'deferredFilters.startDate' => $defaultStartDate->toDateTimeString(),
56
+            'deferredFilters.endDate' => $defaultEndDate->toDateTimeString(),
57
+        ])
58
+        ->assertSet('filters', [
59
+            'dateRange' => $defaultDateRange,
60
+            'startDate' => $defaultStartDate->toDateString(),
61
+            'endDate' => $defaultEndDate->toDateString(),
62
+        ])
63
+        ->call('applyFilters')
64
+        ->assertSeeTextInOrder([
65
+            'Cash on Hand',
66
+            $formattedExpectedBalances->startingBalance,
67
+            $formattedExpectedBalances->debitBalance,
68
+            $formattedExpectedBalances->creditBalance,
69
+            $formattedExpectedBalances->netMovement,
70
+            $formattedExpectedBalances->endingBalance,
71
+        ])
72
+        ->assertReportTableData();
73
+
74
+    $expectedBalancesSubYear = Accounting::getBalances($defaultBankAccount, $defaultStartDate->subYear()->startOfYear()->toDateString(), $defaultEndDate->subYear()->endOfYear()->toDateString(), $fields);
75
+
76
+    $formattedExpectedBalancesSubYear = formatReportBalances($expectedBalancesSubYear);
77
+
78
+    livewire(AccountBalances::class)
79
+        ->assertFormSet([
80
+            'deferredFilters.dateRange' => $defaultDateRange,
81
+            'deferredFilters.startDate' => $defaultStartDate->toDateTimeString(),
82
+            'deferredFilters.endDate' => $defaultEndDate->toDateTimeString(),
83
+        ])
84
+        ->assertSet('filters', [
85
+            'dateRange' => $defaultDateRange,
86
+            'startDate' => $defaultStartDate->toDateString(),
87
+            'endDate' => $defaultEndDate->toDateString(),
88
+        ])
89
+        ->set('deferredFilters', [
90
+            'startDate' => $defaultStartDate->subYear()->startOfYear()->toDateTimeString(),
91
+            'endDate' => $defaultEndDate->subYear()->endOfYear()->toDateTimeString(),
92
+        ])
93
+        ->call('applyFilters')
94
+        ->assertSeeTextInOrder([
95
+            'Cash on Hand',
96
+            $formattedExpectedBalancesSubYear->startingBalance,
97
+            $formattedExpectedBalancesSubYear->debitBalance,
98
+            $formattedExpectedBalancesSubYear->creditBalance,
99
+            $formattedExpectedBalancesSubYear->netMovement,
100
+            $formattedExpectedBalancesSubYear->endingBalance,
101
+        ])
102
+        ->assertReportTableData();
103
+});

+ 6
- 4
tests/Feature/Reports/TrialBalanceReportTest.php Näytä tiedosto

@@ -27,6 +27,8 @@ it('correctly builds a standard trial balance report', function () {
27 27
     $expectedBankAccountDebit = 10000;
28 28
     $expectedBankAccountCredit = 0;
29 29
 
30
+    $defaultCurrencyCode = CurrencyAccessor::getDefaultCurrency();
31
+
30 32
     livewire(TrialBalance::class)
31 33
         ->assertFormSet([
32 34
             'deferredFilters.reportType' => $defaultReportType,
@@ -42,8 +44,8 @@ it('correctly builds a standard trial balance report', function () {
42 44
         ->assertDontSeeText('Retained Earnings')
43 45
         ->assertSeeTextInOrder([
44 46
             'Cash on Hand',
45
-            money($expectedBankAccountDebit, CurrencyAccessor::getDefaultCurrency(), true),
46
-            money($expectedBankAccountCredit, CurrencyAccessor::getDefaultCurrency(), true),
47
+            money($expectedBankAccountDebit, $defaultCurrencyCode, true),
48
+            money($expectedBankAccountCredit, $defaultCurrencyCode, true),
47 49
         ])
48 50
         ->assertReportTableData();
49 51
 });
@@ -58,13 +60,13 @@ it('correctly builds a post-closing trial balance report', function () {
58 60
     $defaultReportType = 'postClosing';
59 61
 
60 62
     // Create transactions for the company
61
-    $transaction1 = Transaction::factory()
63
+    Transaction::factory()
62 64
         ->forDefaultBankAccount()
63 65
         ->forUncategorizedRevenue()
64 66
         ->asDeposit(1000)
65 67
         ->create();
66 68
 
67
-    $transaction2 = Transaction::factory()
69
+    Transaction::factory()
68 70
         ->forDefaultBankAccount()
69 71
         ->forUncategorizedExpense()
70 72
         ->asWithdrawal(500)

+ 7
- 0
tests/Helpers/helpers.php Näytä tiedosto

@@ -38,3 +38,10 @@ function calculateRetainedEarningsBalances(ReportService $reportService, $startD
38 38
         'credit_balance' => $retainedEarningsCreditAmount,
39 39
     ]);
40 40
 }
41
+
42
+function formatReportBalances(array $balances): AccountBalanceDTO
43
+{
44
+    $reportService = app(ReportService::class);
45
+
46
+    return $reportService->formatBalances($balances);
47
+}

Loading…
Peruuta
Tallenna