@tasenor/common-node 1.9.30 → 1.9.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (248) hide show
  1. package/package.json +2 -2
  2. package/dist/migrations/01_init.js +0 -60
  3. package/dist/tasenor-common-node/src/cli.d.ts +0 -81
  4. package/dist/tasenor-common-node/src/cli.js +0 -242
  5. package/dist/tasenor-common-node/src/cli.js.map +0 -1
  6. package/dist/tasenor-common-node/src/commands/account.d.ts +0 -12
  7. package/dist/tasenor-common-node/src/commands/account.js +0 -58
  8. package/dist/tasenor-common-node/src/commands/account.js.map +0 -1
  9. package/dist/tasenor-common-node/src/commands/balance.d.ts +0 -11
  10. package/dist/tasenor-common-node/src/commands/balance.js +0 -117
  11. package/dist/tasenor-common-node/src/commands/balance.js.map +0 -1
  12. package/dist/tasenor-common-node/src/commands/db.d.ts +0 -14
  13. package/dist/tasenor-common-node/src/commands/db.js +0 -69
  14. package/dist/tasenor-common-node/src/commands/db.js.map +0 -1
  15. package/dist/tasenor-common-node/src/commands/entry.d.ts +0 -13
  16. package/dist/tasenor-common-node/src/commands/entry.js +0 -106
  17. package/dist/tasenor-common-node/src/commands/entry.js.map +0 -1
  18. package/dist/tasenor-common-node/src/commands/import.d.ts +0 -17
  19. package/dist/tasenor-common-node/src/commands/import.js +0 -140
  20. package/dist/tasenor-common-node/src/commands/import.js.map +0 -1
  21. package/dist/tasenor-common-node/src/commands/importer.d.ts +0 -13
  22. package/dist/tasenor-common-node/src/commands/importer.js +0 -71
  23. package/dist/tasenor-common-node/src/commands/importer.js.map +0 -1
  24. package/dist/tasenor-common-node/src/commands/index.d.ts +0 -191
  25. package/dist/tasenor-common-node/src/commands/index.js +0 -482
  26. package/dist/tasenor-common-node/src/commands/index.js.map +0 -1
  27. package/dist/tasenor-common-node/src/commands/period.d.ts +0 -12
  28. package/dist/tasenor-common-node/src/commands/period.js +0 -48
  29. package/dist/tasenor-common-node/src/commands/period.js.map +0 -1
  30. package/dist/tasenor-common-node/src/commands/plugin.d.ts +0 -15
  31. package/dist/tasenor-common-node/src/commands/plugin.js +0 -78
  32. package/dist/tasenor-common-node/src/commands/plugin.js.map +0 -1
  33. package/dist/tasenor-common-node/src/commands/report.d.ts +0 -11
  34. package/dist/tasenor-common-node/src/commands/report.js +0 -96
  35. package/dist/tasenor-common-node/src/commands/report.js.map +0 -1
  36. package/dist/tasenor-common-node/src/commands/settings.d.ts +0 -10
  37. package/dist/tasenor-common-node/src/commands/settings.js +0 -64
  38. package/dist/tasenor-common-node/src/commands/settings.js.map +0 -1
  39. package/dist/tasenor-common-node/src/commands/stock.d.ts +0 -8
  40. package/dist/tasenor-common-node/src/commands/stock.js +0 -73
  41. package/dist/tasenor-common-node/src/commands/stock.js.map +0 -1
  42. package/dist/tasenor-common-node/src/commands/tag.d.ts +0 -13
  43. package/dist/tasenor-common-node/src/commands/tag.js +0 -89
  44. package/dist/tasenor-common-node/src/commands/tag.js.map +0 -1
  45. package/dist/tasenor-common-node/src/commands/tx.d.ts +0 -12
  46. package/dist/tasenor-common-node/src/commands/tx.js +0 -81
  47. package/dist/tasenor-common-node/src/commands/tx.js.map +0 -1
  48. package/dist/tasenor-common-node/src/commands/user.d.ts +0 -12
  49. package/dist/tasenor-common-node/src/commands/user.js +0 -52
  50. package/dist/tasenor-common-node/src/commands/user.js.map +0 -1
  51. package/dist/tasenor-common-node/src/database/BookkeeperImporter.d.ts +0 -77
  52. package/dist/tasenor-common-node/src/database/BookkeeperImporter.js +0 -343
  53. package/dist/tasenor-common-node/src/database/BookkeeperImporter.js.map +0 -1
  54. package/dist/tasenor-common-node/src/database/DB.d.ts +0 -51
  55. package/dist/tasenor-common-node/src/database/DB.js +0 -354
  56. package/dist/tasenor-common-node/src/database/DB.js.map +0 -1
  57. package/dist/tasenor-common-node/src/database/index.d.ts +0 -7
  58. package/dist/tasenor-common-node/src/database/index.js +0 -8
  59. package/dist/tasenor-common-node/src/database/index.js.map +0 -1
  60. package/dist/tasenor-common-node/src/doccer.d.ts +0 -29
  61. package/dist/tasenor-common-node/src/doccer.js +0 -30
  62. package/dist/tasenor-common-node/src/doccer.js.map +0 -1
  63. package/dist/tasenor-common-node/src/error.d.ts +0 -30
  64. package/dist/tasenor-common-node/src/error.js +0 -35
  65. package/dist/tasenor-common-node/src/error.js.map +0 -1
  66. package/dist/tasenor-common-node/src/export/Exporter.d.ts +0 -69
  67. package/dist/tasenor-common-node/src/export/Exporter.js +0 -123
  68. package/dist/tasenor-common-node/src/export/Exporter.js.map +0 -1
  69. package/dist/tasenor-common-node/src/export/TasenorExporter.d.ts +0 -55
  70. package/dist/tasenor-common-node/src/export/TasenorExporter.js +0 -135
  71. package/dist/tasenor-common-node/src/export/TasenorExporter.js.map +0 -1
  72. package/dist/tasenor-common-node/src/export/TilitinExporter.d.ts +0 -71
  73. package/dist/tasenor-common-node/src/export/TilitinExporter.js +0 -290
  74. package/dist/tasenor-common-node/src/export/TilitinExporter.js.map +0 -1
  75. package/dist/tasenor-common-node/src/export/index.d.ts +0 -8
  76. package/dist/tasenor-common-node/src/export/index.js +0 -9
  77. package/dist/tasenor-common-node/src/export/index.js.map +0 -1
  78. package/dist/tasenor-common-node/src/import/TextFileProcessHandler.d.ts +0 -104
  79. package/dist/tasenor-common-node/src/import/TextFileProcessHandler.js +0 -354
  80. package/dist/tasenor-common-node/src/import/TextFileProcessHandler.js.map +0 -1
  81. package/dist/tasenor-common-node/src/import/TransactionImportConnector.d.ts +0 -38
  82. package/dist/tasenor-common-node/src/import/TransactionImportConnector.js +0 -27
  83. package/dist/tasenor-common-node/src/import/TransactionImportConnector.js.map +0 -1
  84. package/dist/tasenor-common-node/src/import/TransactionImportHandler.d.ts +0 -173
  85. package/dist/tasenor-common-node/src/import/TransactionImportHandler.js +0 -733
  86. package/dist/tasenor-common-node/src/import/TransactionImportHandler.js.map +0 -1
  87. package/dist/tasenor-common-node/src/import/TransactionRules.d.ts +0 -238
  88. package/dist/tasenor-common-node/src/import/TransactionRules.js +0 -522
  89. package/dist/tasenor-common-node/src/import/TransactionRules.js.map +0 -1
  90. package/dist/tasenor-common-node/src/import/TransactionUI.d.ts +0 -181
  91. package/dist/tasenor-common-node/src/import/TransactionUI.js +0 -482
  92. package/dist/tasenor-common-node/src/import/TransactionUI.js.map +0 -1
  93. package/dist/tasenor-common-node/src/import/TransferAnalyzer.d.ts +0 -324
  94. package/dist/tasenor-common-node/src/import/TransferAnalyzer.js +0 -1379
  95. package/dist/tasenor-common-node/src/import/TransferAnalyzer.js.map +0 -1
  96. package/dist/tasenor-common-node/src/import/index.d.ts +0 -11
  97. package/dist/tasenor-common-node/src/import/index.js +0 -12
  98. package/dist/tasenor-common-node/src/import/index.js.map +0 -1
  99. package/dist/tasenor-common-node/src/index.d.ts +0 -12
  100. package/dist/tasenor-common-node/src/index.js +0 -13
  101. package/dist/tasenor-common-node/src/index.js.map +0 -1
  102. package/dist/tasenor-common-node/src/net/crypto.d.ts +0 -33
  103. package/dist/tasenor-common-node/src/net/crypto.js +0 -63
  104. package/dist/tasenor-common-node/src/net/crypto.js.map +0 -1
  105. package/dist/tasenor-common-node/src/net/git.d.ts +0 -49
  106. package/dist/tasenor-common-node/src/net/git.js +0 -137
  107. package/dist/tasenor-common-node/src/net/git.js.map +0 -1
  108. package/dist/tasenor-common-node/src/net/index.d.ts +0 -10
  109. package/dist/tasenor-common-node/src/net/index.js +0 -11
  110. package/dist/tasenor-common-node/src/net/index.js.map +0 -1
  111. package/dist/tasenor-common-node/src/net/middleware.d.ts +0 -61
  112. package/dist/tasenor-common-node/src/net/middleware.js +0 -220
  113. package/dist/tasenor-common-node/src/net/middleware.js.map +0 -1
  114. package/dist/tasenor-common-node/src/net/tokens.d.ts +0 -50
  115. package/dist/tasenor-common-node/src/net/tokens.js +0 -141
  116. package/dist/tasenor-common-node/src/net/tokens.js.map +0 -1
  117. package/dist/tasenor-common-node/src/net/vault.d.ts +0 -67
  118. package/dist/tasenor-common-node/src/net/vault.js +0 -145
  119. package/dist/tasenor-common-node/src/net/vault.js.map +0 -1
  120. package/dist/tasenor-common-node/src/plugins/BackendPlugin.d.ts +0 -91
  121. package/dist/tasenor-common-node/src/plugins/BackendPlugin.js +0 -165
  122. package/dist/tasenor-common-node/src/plugins/BackendPlugin.js.map +0 -1
  123. package/dist/tasenor-common-node/src/plugins/DataPlugin.d.ts +0 -13
  124. package/dist/tasenor-common-node/src/plugins/DataPlugin.js +0 -26
  125. package/dist/tasenor-common-node/src/plugins/DataPlugin.js.map +0 -1
  126. package/dist/tasenor-common-node/src/plugins/ImportPlugin.d.ts +0 -188
  127. package/dist/tasenor-common-node/src/plugins/ImportPlugin.js +0 -204
  128. package/dist/tasenor-common-node/src/plugins/ImportPlugin.js.map +0 -1
  129. package/dist/tasenor-common-node/src/plugins/ReportPlugin.d.ts +0 -132
  130. package/dist/tasenor-common-node/src/plugins/ReportPlugin.js +0 -393
  131. package/dist/tasenor-common-node/src/plugins/ReportPlugin.js.map +0 -1
  132. package/dist/tasenor-common-node/src/plugins/SchemePlugin.d.ts +0 -34
  133. package/dist/tasenor-common-node/src/plugins/SchemePlugin.js +0 -47
  134. package/dist/tasenor-common-node/src/plugins/SchemePlugin.js.map +0 -1
  135. package/dist/tasenor-common-node/src/plugins/ServicePlugin.d.ts +0 -80
  136. package/dist/tasenor-common-node/src/plugins/ServicePlugin.js +0 -168
  137. package/dist/tasenor-common-node/src/plugins/ServicePlugin.js.map +0 -1
  138. package/dist/tasenor-common-node/src/plugins/ToolPlugin.d.ts +0 -27
  139. package/dist/tasenor-common-node/src/plugins/ToolPlugin.js +0 -37
  140. package/dist/tasenor-common-node/src/plugins/ToolPlugin.js.map +0 -1
  141. package/dist/tasenor-common-node/src/plugins/index.d.ts +0 -13
  142. package/dist/tasenor-common-node/src/plugins/index.js +0 -14
  143. package/dist/tasenor-common-node/src/plugins/index.js.map +0 -1
  144. package/dist/tasenor-common-node/src/plugins/plugins.d.ts +0 -101
  145. package/dist/tasenor-common-node/src/plugins/plugins.js +0 -292
  146. package/dist/tasenor-common-node/src/plugins/plugins.js.map +0 -1
  147. package/dist/tasenor-common-node/src/process/Process.d.ts +0 -108
  148. package/dist/tasenor-common-node/src/process/Process.js +0 -335
  149. package/dist/tasenor-common-node/src/process/Process.js.map +0 -1
  150. package/dist/tasenor-common-node/src/process/ProcessConnector.d.ts +0 -24
  151. package/dist/tasenor-common-node/src/process/ProcessConnector.js +0 -28
  152. package/dist/tasenor-common-node/src/process/ProcessConnector.js.map +0 -1
  153. package/dist/tasenor-common-node/src/process/ProcessFile.d.ts +0 -69
  154. package/dist/tasenor-common-node/src/process/ProcessFile.js +0 -145
  155. package/dist/tasenor-common-node/src/process/ProcessFile.js.map +0 -1
  156. package/dist/tasenor-common-node/src/process/ProcessHandler.d.ts +0 -60
  157. package/dist/tasenor-common-node/src/process/ProcessHandler.js +0 -73
  158. package/dist/tasenor-common-node/src/process/ProcessHandler.js.map +0 -1
  159. package/dist/tasenor-common-node/src/process/ProcessStep.d.ts +0 -52
  160. package/dist/tasenor-common-node/src/process/ProcessStep.js +0 -78
  161. package/dist/tasenor-common-node/src/process/ProcessStep.js.map +0 -1
  162. package/dist/tasenor-common-node/src/process/ProcessingSystem.d.ts +0 -60
  163. package/dist/tasenor-common-node/src/process/ProcessingSystem.js +0 -182
  164. package/dist/tasenor-common-node/src/process/ProcessingSystem.js.map +0 -1
  165. package/dist/tasenor-common-node/src/process/index.d.ts +0 -11
  166. package/dist/tasenor-common-node/src/process/index.js +0 -12
  167. package/dist/tasenor-common-node/src/process/index.js.map +0 -1
  168. package/dist/tasenor-common-node/src/reports/conversions.d.ts +0 -8
  169. package/dist/tasenor-common-node/src/reports/conversions.js +0 -47
  170. package/dist/tasenor-common-node/src/reports/conversions.js.map +0 -1
  171. package/dist/tasenor-common-node/src/reports/index.d.ts +0 -6
  172. package/dist/tasenor-common-node/src/reports/index.js +0 -7
  173. package/dist/tasenor-common-node/src/reports/index.js.map +0 -1
  174. package/dist/tasenor-common-node/src/server/ISPDemoServer.d.ts +0 -43
  175. package/dist/tasenor-common-node/src/server/ISPDemoServer.js +0 -112
  176. package/dist/tasenor-common-node/src/server/ISPDemoServer.js.map +0 -1
  177. package/dist/tasenor-common-node/src/server/api.d.ts +0 -15
  178. package/dist/tasenor-common-node/src/server/api.js +0 -27
  179. package/dist/tasenor-common-node/src/server/api.js.map +0 -1
  180. package/dist/tasenor-common-node/src/server/index.d.ts +0 -7
  181. package/dist/tasenor-common-node/src/server/index.js +0 -8
  182. package/dist/tasenor-common-node/src/server/index.js.map +0 -1
  183. package/dist/tasenor-common-node/src/server/router.d.ts +0 -5
  184. package/dist/tasenor-common-node/src/server/router.js +0 -37
  185. package/dist/tasenor-common-node/src/server/router.js.map +0 -1
  186. package/dist/tasenor-common-node/src/system.d.ts +0 -27
  187. package/dist/tasenor-common-node/src/system.js +0 -95
  188. package/dist/tasenor-common-node/src/system.js.map +0 -1
  189. package/dist/tasenor-common-node/src/testing/ProcessingSystemMock.d.ts +0 -21
  190. package/dist/tasenor-common-node/src/testing/ProcessingSystemMock.js +0 -33
  191. package/dist/tasenor-common-node/src/testing/ProcessingSystemMock.js.map +0 -1
  192. package/dist/tasenor-common-node/src/testing/UnitTestImportConnector.d.ts +0 -24
  193. package/dist/tasenor-common-node/src/testing/UnitTestImportConnector.js +0 -68
  194. package/dist/tasenor-common-node/src/testing/UnitTestImportConnector.js.map +0 -1
  195. package/dist/tasenor-common-node/src/testing/UnitTester.d.ts +0 -64
  196. package/dist/tasenor-common-node/src/testing/UnitTester.js +0 -199
  197. package/dist/tasenor-common-node/src/testing/UnitTester.js.map +0 -1
  198. package/dist/tasenor-common-node/src/testing/index.d.ts +0 -4
  199. package/dist/tasenor-common-node/src/testing/index.js +0 -5
  200. package/dist/tasenor-common-node/src/testing/index.js.map +0 -1
  201. package/dist/tasenor-common-node/src/testing/test-handlers.d.ts +0 -13
  202. package/dist/tasenor-common-node/src/testing/test-handlers.js +0 -44
  203. package/dist/tasenor-common-node/src/testing/test-handlers.js.map +0 -1
  204. package/dist/tasenor-common-node/tests/TransactionRules.spec.d.ts +0 -1
  205. package/dist/tasenor-common-node/tests/TransactionRules.spec.js +0 -64
  206. package/dist/tasenor-common-node/tests/TransactionRules.spec.js.map +0 -1
  207. package/dist/tasenor-common-node/tests/TransferAnalyzer-account-address.spec.d.ts +0 -1
  208. package/dist/tasenor-common-node/tests/TransferAnalyzer-account-address.spec.js +0 -80
  209. package/dist/tasenor-common-node/tests/TransferAnalyzer-account-address.spec.js.map +0 -1
  210. package/dist/tasenor-common-node/tests/TransferAnalyzer-buying-and-selling.spec.d.ts +0 -1
  211. package/dist/tasenor-common-node/tests/TransferAnalyzer-buying-and-selling.spec.js +0 -342
  212. package/dist/tasenor-common-node/tests/TransferAnalyzer-buying-and-selling.spec.js.map +0 -1
  213. package/dist/tasenor-common-node/tests/TransferAnalyzer-loans.spec.d.ts +0 -1
  214. package/dist/tasenor-common-node/tests/TransferAnalyzer-loans.spec.js +0 -174
  215. package/dist/tasenor-common-node/tests/TransferAnalyzer-loans.spec.js.map +0 -1
  216. package/dist/tasenor-common-node/tests/TransferAnalyzer-multiple-null-amounts.spec.d.ts +0 -1
  217. package/dist/tasenor-common-node/tests/TransferAnalyzer-multiple-null-amounts.spec.js +0 -175
  218. package/dist/tasenor-common-node/tests/TransferAnalyzer-multiple-null-amounts.spec.js.map +0 -1
  219. package/dist/tasenor-common-node/tests/password.spec.d.ts +0 -1
  220. package/dist/tasenor-common-node/tests/password.spec.js +0 -8
  221. package/dist/tasenor-common-node/tests/password.spec.js.map +0 -1
  222. package/dist/tasenor-common-node/tests/tokens.spec.d.ts +0 -1
  223. package/dist/tasenor-common-node/tests/tokens.spec.js +0 -49
  224. package/dist/tasenor-common-node/tests/tokens.spec.js.map +0 -1
  225. package/dist/tasenor-common-node/tests/vault.spec.d.ts +0 -1
  226. package/dist/tasenor-common-node/tests/vault.spec.js +0 -19
  227. package/dist/tasenor-common-node/tests/vault.spec.js.map +0 -1
  228. package/dist/tasenor-common-plugins/src/CoinbaseImport/backend/CoinbaseHandler.d.ts +0 -11
  229. package/dist/tasenor-common-plugins/src/CoinbaseImport/backend/CoinbaseHandler.js +0 -30
  230. package/dist/tasenor-common-plugins/src/CoinbaseImport/backend/CoinbaseHandler.js.map +0 -1
  231. package/dist/tasenor-common-plugins/src/IncomeAndExpenses/backend/index.d.ts +0 -5
  232. package/dist/tasenor-common-plugins/src/IncomeAndExpenses/backend/index.js +0 -350
  233. package/dist/tasenor-common-plugins/src/IncomeAndExpenses/backend/index.js.map +0 -1
  234. package/dist/tasenor-common-plugins/src/KrakenImport/backend/KrakenHandler.d.ts +0 -23
  235. package/dist/tasenor-common-plugins/src/KrakenImport/backend/KrakenHandler.js +0 -83
  236. package/dist/tasenor-common-plugins/src/KrakenImport/backend/KrakenHandler.js.map +0 -1
  237. package/dist/tasenor-common-plugins/src/LynxImport/backend/LynxHandler.d.ts +0 -28
  238. package/dist/tasenor-common-plugins/src/LynxImport/backend/LynxHandler.js +0 -340
  239. package/dist/tasenor-common-plugins/src/LynxImport/backend/LynxHandler.js.map +0 -1
  240. package/dist/tasenor-common-plugins/src/NordeaImport/backend/NordeaHandler.d.ts +0 -11
  241. package/dist/tasenor-common-plugins/src/NordeaImport/backend/NordeaHandler.js +0 -39
  242. package/dist/tasenor-common-plugins/src/NordeaImport/backend/NordeaHandler.js.map +0 -1
  243. package/dist/tasenor-common-plugins/src/NordnetImport/backend/NordnetHandler.d.ts +0 -17
  244. package/dist/tasenor-common-plugins/src/NordnetImport/backend/NordnetHandler.js +0 -66
  245. package/dist/tasenor-common-plugins/src/NordnetImport/backend/NordnetHandler.js.map +0 -1
  246. package/dist/tasenor-common-plugins/src/TITOImport/backend/TITOHandler.d.ts +0 -13
  247. package/dist/tasenor-common-plugins/src/TITOImport/backend/TITOHandler.js +0 -241
  248. package/dist/tasenor-common-plugins/src/TITOImport/backend/TITOHandler.js.map +0 -1
@@ -1,342 +0,0 @@
1
- import { UnitTester } from '../src/testing';
2
- test('Buying and selling', async () => {
3
- const tester = new UnitTester();
4
- tester.addMoney('trade.currency.EUR', 1000000);
5
- await tester.test(
6
- // Buy 1.5 ETH for 200€ and 1€ fee.
7
- [
8
- {
9
- reason: 'trade',
10
- type: 'currency',
11
- asset: 'EUR',
12
- amount: -200
13
- },
14
- {
15
- reason: 'trade',
16
- type: 'crypto',
17
- asset: 'ETH',
18
- amount: 1.5
19
- },
20
- {
21
- reason: 'fee',
22
- type: 'currency',
23
- asset: 'EUR',
24
- amount: 1
25
- }
26
- ], [[
27
- {
28
- account: 'trade.currency.EUR',
29
- amount: -20100,
30
- description: 'Buy +1.5 ETH',
31
- },
32
- {
33
- account: 'trade.crypto.ETH',
34
- amount: 20000,
35
- data: {
36
- stock: {
37
- change: {
38
- ETH: {
39
- amount: 1.5,
40
- value: 20000,
41
- },
42
- },
43
- },
44
- },
45
- description: 'Buy +1.5 ETH',
46
- },
47
- {
48
- account: 'fee.currency.EUR',
49
- amount: 100,
50
- description: 'Buy +1.5 ETH',
51
- }
52
- ]],
53
- // Sell 1.5 ETH for 250€ and 1€ fee.
54
- [
55
- {
56
- reason: 'trade',
57
- type: 'currency',
58
- asset: 'EUR',
59
- amount: 251
60
- },
61
- {
62
- reason: 'trade',
63
- type: 'crypto',
64
- asset: 'ETH',
65
- amount: -1.5
66
- },
67
- {
68
- reason: 'fee',
69
- type: 'currency',
70
- asset: 'EUR',
71
- amount: 1
72
- }
73
- ], [[
74
- {
75
- account: 'trade.currency.EUR',
76
- amount: 25000,
77
- description: 'Sell -1.5 ETH',
78
- },
79
- {
80
- account: 'trade.crypto.ETH',
81
- amount: -20000,
82
- data: {
83
- stock: {
84
- change: {
85
- ETH: {
86
- amount: -1.5,
87
- value: -20000,
88
- },
89
- },
90
- },
91
- },
92
- description: 'Sell -1.5 ETH',
93
- },
94
- {
95
- account: 'fee.currency.EUR',
96
- amount: 100,
97
- description: 'Sell -1.5 ETH',
98
- },
99
- {
100
- account: 'income.statement.TRADE_PROFIT_CRYPTO',
101
- amount: -5100,
102
- description: 'Sell -1.5 ETH',
103
- }
104
- ]],
105
- // Buy 5 NAKD for 300€, no fee.
106
- [
107
- {
108
- reason: 'trade',
109
- type: 'currency',
110
- asset: 'EUR',
111
- amount: -300
112
- },
113
- {
114
- reason: 'trade',
115
- type: 'stock',
116
- asset: 'NAKD',
117
- amount: 5
118
- }
119
- ], [[
120
- {
121
- account: 'trade.currency.EUR',
122
- amount: -30000,
123
- description: 'Buy +5 NAKD',
124
- },
125
- {
126
- account: 'trade.stock.NAKD',
127
- amount: 30000,
128
- data: {
129
- stock: {
130
- change: {
131
- NAKD: {
132
- amount: 5,
133
- value: 30000,
134
- },
135
- },
136
- },
137
- },
138
- description: 'Buy +5 NAKD',
139
- },
140
- ]],
141
- // Sell 5 NAKD for 200€, no fee.
142
- [
143
- {
144
- reason: 'trade',
145
- type: 'currency',
146
- asset: 'EUR',
147
- amount: 200
148
- },
149
- {
150
- reason: 'trade',
151
- type: 'stock',
152
- asset: 'NAKD',
153
- amount: -5
154
- }
155
- ], [[
156
- {
157
- account: 'trade.currency.EUR',
158
- amount: 20000,
159
- description: 'Sell -5 NAKD',
160
- },
161
- {
162
- account: 'trade.stock.NAKD',
163
- amount: -30000,
164
- data: {
165
- stock: {
166
- change: {
167
- NAKD: {
168
- amount: -5,
169
- value: -30000,
170
- },
171
- },
172
- },
173
- },
174
- description: 'Sell -5 NAKD',
175
- },
176
- {
177
- account: 'expense.statement.TRADE_LOSS_STOCK',
178
- amount: 10000,
179
- description: 'Sell -5 NAKD',
180
- },
181
- ]]);
182
- expect(tester.get('trade.currency.EUR')).toBe(994900);
183
- expect(tester.get('trade.stock.NAKD')).toBe(0);
184
- expect(tester.get('expense.statement.TRADE_LOSS_STOCK')).toBe(10000);
185
- expect(tester.get('trade.crypto.ETH')).toBe(0);
186
- expect(tester.get('fee.currency.EUR')).toBe(200);
187
- expect(tester.get('income.statement.TRADE_PROFIT_CRYPTO')).toBe(-5100);
188
- });
189
- test('Short selling', async () => {
190
- const tester = new UnitTester();
191
- tester.set('allowShortSelling', true);
192
- tester.answer('segment0', 'hasBeenRenamed.stock.NAKD', false);
193
- await tester.test(
194
- // Short sell 100 NAKD for $1000 with $5 fee.
195
- [
196
- {
197
- reason: 'trade',
198
- type: 'currency',
199
- asset: 'USD',
200
- amount: 1000
201
- },
202
- {
203
- reason: 'trade',
204
- type: 'stock',
205
- asset: 'NAKD',
206
- amount: -100
207
- },
208
- {
209
- reason: 'fee',
210
- type: 'currency',
211
- asset: 'USD',
212
- amount: 5
213
- }
214
- ], [[
215
- {
216
- account: 'trade.currency.USD',
217
- amount: 99500,
218
- data: {
219
- currency: 'USD',
220
- currencyValue: 99500,
221
- rates: {
222
- USD: 1,
223
- },
224
- },
225
- description: 'Short selling -100 NAKD',
226
- },
227
- {
228
- account: 'trade.short.NAKD',
229
- amount: -100000,
230
- data: {
231
- currency: 'USD',
232
- currencyValue: -100000,
233
- rates: {
234
- USD: 1,
235
- },
236
- stock: {
237
- change: {
238
- NAKD: {
239
- amount: -100,
240
- value: -100000,
241
- },
242
- },
243
- },
244
- },
245
- description: 'Short selling -100 NAKD',
246
- },
247
- {
248
- account: 'fee.currency.USD',
249
- amount: 500,
250
- data: {
251
- currency: 'USD',
252
- currencyValue: 500,
253
- rates: {
254
- USD: 1,
255
- },
256
- },
257
- description: 'Short selling -100 NAKD',
258
- },
259
- ]], [
260
- // Buy 100 NAKD back for $900 and $5 fee.
261
- {
262
- reason: 'trade',
263
- type: 'currency',
264
- asset: 'USD',
265
- amount: -900
266
- },
267
- {
268
- reason: 'trade',
269
- type: 'stock',
270
- asset: 'NAKD',
271
- amount: 100
272
- },
273
- {
274
- reason: 'fee',
275
- type: 'currency',
276
- asset: 'USD',
277
- amount: 5
278
- }
279
- ], [[
280
- {
281
- account: 'trade.currency.USD',
282
- amount: -90500,
283
- data: {
284
- currency: 'USD',
285
- currencyValue: -90500,
286
- rates: {
287
- USD: 1,
288
- },
289
- },
290
- description: 'Closing short position +100 NAKD',
291
- },
292
- {
293
- account: 'trade.short.NAKD',
294
- amount: 100000,
295
- data: {
296
- currency: 'USD',
297
- currencyValue: 100000,
298
- rates: {
299
- USD: 1,
300
- },
301
- stock: {
302
- change: {
303
- NAKD: {
304
- amount: 100,
305
- value: 100000,
306
- },
307
- },
308
- },
309
- },
310
- description: 'Closing short position +100 NAKD',
311
- },
312
- {
313
- account: 'fee.currency.USD',
314
- amount: 500,
315
- data: {
316
- currency: 'USD',
317
- currencyValue: 500,
318
- rates: {
319
- USD: 1,
320
- },
321
- },
322
- description: 'Closing short position +100 NAKD',
323
- },
324
- {
325
- account: 'income.statement.TRADE_PROFIT_SHORT',
326
- amount: -10000,
327
- data: {
328
- currency: 'USD',
329
- currencyValue: -10000,
330
- rates: {
331
- USD: 1,
332
- },
333
- },
334
- description: 'Closing short position +100 NAKD',
335
- },
336
- ]]);
337
- expect(tester.get('trade.currency.USD')).toBe(9000);
338
- expect(tester.get('fee.currency.USD')).toBe(1000);
339
- expect(tester.get('income.statement.TRADE_PROFIT_SHORT')).toBe(-10000);
340
- expect(tester.get('trade.short.NAKD')).toBe(0);
341
- });
342
- //# sourceMappingURL=TransferAnalyzer-buying-and-selling.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TransferAnalyzer-buying-and-selling.spec.js","sourceRoot":"","sources":["../../../tests/TransferAnalyzer-buying-and-selling.spec.ts"],"names":[],"mappings":"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"}
@@ -1,174 +0,0 @@
1
- import { UnitTester } from '../src/testing';
2
- test('Use partly debt to buy assets', async () => {
3
- const tester = new UnitTester();
4
- tester.addMoney('trade.currency.EUR', 10000);
5
- // Set up debt account.
6
- tester.set('account.debt.currency.EUR', '8001');
7
- await tester.test(
8
- // Buy 2.0 ETH for 200€ when we have only 100€ on the account.
9
- [
10
- {
11
- reason: 'trade',
12
- type: 'currency',
13
- asset: 'EUR',
14
- amount: -200
15
- },
16
- {
17
- reason: 'trade',
18
- type: 'crypto',
19
- asset: 'ETH',
20
- amount: 2.0
21
- },
22
- ], [[
23
- {
24
- account: 'trade.currency.EUR',
25
- amount: -10000,
26
- description: 'Buy +2 ETH',
27
- },
28
- {
29
- account: 'trade.crypto.ETH',
30
- amount: 20000,
31
- data: {
32
- stock: {
33
- change: {
34
- ETH: {
35
- amount: 2,
36
- value: 20000,
37
- },
38
- },
39
- },
40
- },
41
- description: 'Buy +2 ETH',
42
- },
43
- {
44
- account: 'debt.currency.EUR',
45
- amount: -10000,
46
- description: 'Buy +2 ETH',
47
- },
48
- ]]);
49
- expect(tester.get('trade.currency.EUR')).toBe(0);
50
- expect(tester.get('debt.currency.EUR')).toBe(-10000);
51
- expect(tester.get('trade.crypto.ETH')).toBe(20000);
52
- });
53
- test('Use all debt to buy assets', async () => {
54
- const tester = new UnitTester();
55
- tester.addMoney('trade.currency.EUR', 0);
56
- // Set up debt account.
57
- tester.set('account.debt.currency.EUR', '8001');
58
- await tester.test(
59
- // Buy 2.0 ETH for 200€ when we have only 0€ on the account.
60
- [
61
- {
62
- reason: 'trade',
63
- type: 'currency',
64
- asset: 'EUR',
65
- amount: -200
66
- },
67
- {
68
- reason: 'trade',
69
- type: 'crypto',
70
- asset: 'ETH',
71
- amount: 2.0
72
- },
73
- ], [[
74
- {
75
- account: 'debt.currency.EUR',
76
- amount: -20000,
77
- description: 'Buy +2 ETH',
78
- },
79
- {
80
- account: 'trade.crypto.ETH',
81
- amount: 20000,
82
- data: {
83
- stock: {
84
- change: {
85
- ETH: {
86
- amount: 2,
87
- value: 20000,
88
- },
89
- },
90
- },
91
- },
92
- description: 'Buy +2 ETH',
93
- },
94
- ]]);
95
- expect(tester.get('trade.currency.EUR')).toBe(0);
96
- expect(tester.get('debt.currency.EUR')).toBe(-20000);
97
- expect(tester.get('trade.crypto.ETH')).toBe(20000);
98
- });
99
- test('Pay back debt more than fully', async () => {
100
- const tester = new UnitTester();
101
- tester.set('account.debt.currency.EUR', '8001');
102
- tester.addMoney('debt.currency.EUR', -10000);
103
- await tester.test(
104
- // Deposit 200€ to account having -100€ debt.
105
- [
106
- {
107
- reason: 'deposit',
108
- type: 'external',
109
- asset: 'EUR',
110
- amount: -200
111
- },
112
- {
113
- reason: 'deposit',
114
- type: 'currency',
115
- asset: 'EUR',
116
- amount: 200
117
- }
118
- ], [[
119
- {
120
- account: 'deposit.external.EUR',
121
- amount: -20000,
122
- description: 'Deposit to Coinbase service',
123
- },
124
- {
125
- account: 'deposit.currency.EUR',
126
- amount: 10000,
127
- description: 'Deposit to Coinbase service',
128
- },
129
- {
130
- account: 'debt.currency.EUR',
131
- amount: 10000,
132
- description: 'Deposit to Coinbase service',
133
- }
134
- ]]);
135
- expect(tester.get('deposit.external.EUR')).toBe(-20000);
136
- expect(tester.get('deposit.currency.EUR')).toBe(10000);
137
- expect(tester.get('debt.currency.EUR')).toBe(0);
138
- });
139
- test('Pay back partial debt', async () => {
140
- const tester = new UnitTester();
141
- tester.set('account.debt.currency.EUR', '8001');
142
- tester.addMoney('debt.currency.EUR', -30000);
143
- await tester.test(
144
- // Deposit 200€ to account having -300€ debt.
145
- [
146
- {
147
- reason: 'deposit',
148
- type: 'external',
149
- asset: 'EUR',
150
- amount: -200
151
- },
152
- {
153
- reason: 'deposit',
154
- type: 'currency',
155
- asset: 'EUR',
156
- amount: 200
157
- }
158
- ], [[
159
- {
160
- account: 'deposit.external.EUR',
161
- amount: -20000,
162
- description: 'Deposit to Coinbase service',
163
- },
164
- {
165
- account: 'debt.currency.EUR',
166
- amount: 20000,
167
- description: 'Deposit to Coinbase service',
168
- }
169
- ]]);
170
- expect(tester.get('deposit.external.EUR')).toBe(-20000);
171
- expect(tester.get('deposit.currency.EUR')).toBe(0);
172
- expect(tester.get('debt.currency.EUR')).toBe(-10000);
173
- });
174
- //# sourceMappingURL=TransferAnalyzer-loans.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TransferAnalyzer-loans.spec.js","sourceRoot":"","sources":["../../../tests/TransferAnalyzer-loans.spec.ts"],"names":[],"mappings":"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"}