going somewhere.
This commit is contained in:
1 parent
cfb63cb473
commit
30d732f708
2 files changed
+94
-29
No files matched your search
@@ -226,7 +226,7 @@
|
||||
d+2d #inst"2020-09-07T00:00:00.000-00:00"
|
||||
d+2½d #inst"2020-09-07T12:00:00.000-00:00"
|
||||
d+3d #inst"2020-09-08T00:00:00.000-00:00"
|
||||
d+3½d #inst"2020-09-08T12:00:00.000-00:00";;
|
||||
d+3½d #inst"2020-09-08T12:00:00.000-00:00" ;;
|
||||
interest-rates [[10 d] [15 d+1d] [20 d+2d]]]
|
||||
(data-layer/split-interest-rates interest-rates d+½d d+3d) => [[10 d+½d d+1d] [15 d+1d d+2d] [20 d+2d d+3d]]
|
||||
(data-layer/split-interest-rates interest-rates d+3d d+3½d) => [[20 d+3d d+3½d]]
|
||||
@@ -234,28 +234,53 @@
|
||||
(data-layer/split-interest-rates interest-rates d d+½d) => [[10 d d+½d]]
|
||||
(data-layer/split-interest-rates interest-rates d+2½d d+2½d) => [[20 d+2½d d+2½d]]))
|
||||
(fact "compute-face-value"
|
||||
(let [d-1d #inst"2020-09-04T00:00:00.000-00:00"
|
||||
d-½d #inst"2020-09-04T12:00:00.000-00:00"
|
||||
d #inst"2020-09-05T00:00:00.000-00:00"
|
||||
d+½d #inst"2020-09-05T12:00:00.000-00:00"
|
||||
d+1d #inst"2020-09-06T00:00:00.000-00:00"
|
||||
d+1½d #inst"2020-09-06T12:00:00.000-00:00"
|
||||
d+2d #inst"2020-09-07T00:00:00.000-00:00"
|
||||
d+2½d #inst"2020-09-07T12:00:00.000-00:00"
|
||||
d+3d #inst"2020-09-08T00:00:00.000-00:00"
|
||||
d+3½d #inst"2020-09-08T12:00:00.000-00:00"
|
||||
amount 10000000
|
||||
interest-rates [[10 d] [15 d+1d] [20 d+2d]]]
|
||||
(data-layer/compute-face-value amount interest-rates d+½d d+½d) => amount
|
||||
(data-layer/compute-face-value amount interest-rates d-1d d-½d) => amount
|
||||
(data-layer/compute-face-value amount interest-rates d-1d d+3d) => 10045101))
|
||||
(let [d-1d #inst"2020-09-04T00:00:00.000-00:00"
|
||||
d-½d #inst"2020-09-04T12:00:00.000-00:00"
|
||||
d #inst"2020-09-05T00:00:00.000-00:00"
|
||||
d+½d #inst"2020-09-05T12:00:00.000-00:00"
|
||||
d+1d #inst"2020-09-06T00:00:00.000-00:00"
|
||||
d+1½d #inst"2020-09-06T12:00:00.000-00:00"
|
||||
d+2d #inst"2020-09-07T00:00:00.000-00:00"
|
||||
d+2½d #inst"2020-09-07T12:00:00.000-00:00"
|
||||
d+3d #inst"2020-09-08T00:00:00.000-00:00"
|
||||
d+3½d #inst"2020-09-08T12:00:00.000-00:00"
|
||||
amount 10000000
|
||||
interest-rates [[10 d] [15 d+1d] [20 d+2d]]]
|
||||
(data-layer/compute-face-value amount interest-rates d+½d d+½d) => amount
|
||||
(data-layer/compute-face-value amount interest-rates d-1d d-½d) => amount
|
||||
(data-layer/compute-face-value amount interest-rates d-1d d+3d) => 10045101))
|
||||
(fact "we had bugs... we need to fix them"
|
||||
(let [deposit-date #inst"2020-09-09T18:49:47.205-00:00"
|
||||
value-date #inst"2020-09-09T18:52:56.760-00:00"
|
||||
amount 105402100
|
||||
interest-rates (list [1000 #inst "2020-09-09T18:47:34.152-00:00"])]
|
||||
(data-layer/compute-face-value amount interest-rates deposit-date value-date) => 105424060)))
|
||||
(let [deposit-date #inst"2020-09-09T18:49:47.205-00:00"
|
||||
value-date #inst"2020-09-09T18:52:56.760-00:00"
|
||||
amount 105402100
|
||||
interest-rates (list [1000 #inst "2020-09-09T18:47:34.152-00:00"])]
|
||||
(data-layer/compute-face-value amount interest-rates deposit-date value-date) => 105424060)))
|
||||
|
||||
|
||||
;; 4. transfer sec from one account to the other.
|
||||
|
||||
(defn get-account-eids [db & owner-public-keys]
|
||||
(let [q (map #(vector :skirmish.ledger/owner-public-key %) owner-public-keys)
|
||||
ret (d/pull-many db '[:db/id] q)]
|
||||
(map :db/id ret)))
|
||||
|
||||
(facts "about transactions"
|
||||
(fact "about transferring an amount from one wallet to another"
|
||||
(let [conn (create-some-securities-and-accounts (create-conn))
|
||||
transaction {:from-account-id "1-sec-1"
|
||||
:to-account-id "2-sec-1"
|
||||
:amount 50}
|
||||
db (d/db conn)
|
||||
[eid1 eid2] (get-account-eids db "1-sec-1" "2-sec-1")
|
||||
expt #{[:db/add eid1 :skirmish.ledger/amount 50]
|
||||
[:db/add eid2 :skirmish.ledger/amount 250]}]
|
||||
(data-layer/create-transactions db [transaction]) => expt)) ;expt))
|
||||
(fact "about transferring an amount from one wallet to another"
|
||||
(let [conn (create-some-securities-and-accounts (create-conn))
|
||||
transaction {:from-account-id "1-sec-1"
|
||||
:to-account-id "1-sec-1"
|
||||
:amount 45}
|
||||
db (d/db conn)
|
||||
[eid1] (get-account-eids db "1-sec-1")
|
||||
expt #{[:db/add eid1 :skirmish.ledger/amount 100]}]
|
||||
(data-layer/create-transactions db [transaction]) => expt)))
|
||||
Reference in new issue
Block a user