From 525609f0af99bc6aec956a19b2944d9dd2ab41f4 Mon Sep 17 00:00:00 2001 From: mmilad75 <55688834+mmilad75@users.noreply.github.com> Date: Sat, 27 Jul 2024 17:22:01 +0200 Subject: [PATCH] Wallet Activity: transactions are not sorted by time #20808 (#20862) --- src/status_im/subs/wallet/activities.cljs | 4 +- .../subs/wallet/activities_test.cljs | 109 +++++++++++------- 2 files changed, 72 insertions(+), 41 deletions(-) diff --git a/src/status_im/subs/wallet/activities.cljs b/src/status_im/subs/wallet/activities.cljs index 4deb544dad..1edfc7a1db 100644 --- a/src/status_im/subs/wallet/activities.cljs +++ b/src/status_im/subs/wallet/activities.cljs @@ -115,13 +115,13 @@ (comp :network-name first)) address-activities (->> (get activities current-viewing-account-address) (vals) - (sort :timestamp))] + (sort-by :timestamp))] (->> address-activities (keep #(process-activity-by-type chain-id->network-name %)) (group-by (fn [{:keys [timestamp]}] (datetime/timestamp->relative-short-date (* timestamp 1000)))) (map (fn [[date activities]] {:title date - :data activities + :data (reverse activities) :timestamp (:timestamp (first activities))})) (sort-by (fn [{:keys [timestamp]}] (- timestamp))))))) diff --git a/src/status_im/subs/wallet/activities_test.cljs b/src/status_im/subs/wallet/activities_test.cljs index b90b2872a9..86de172412 100644 --- a/src/status_im/subs/wallet/activities_test.cljs +++ b/src/status_im/subs/wallet/activities_test.cljs @@ -38,48 +38,79 @@ :amount-out "0x1" :sender "acc1" :recipient "acc4" - :timestamp 1588464000}} - "acc3" {4 {:activity-type constants/wallet-activity-type-receive + :timestamp 1588464000} + 4 {:activity-type constants/wallet-activity-type-send + :amount-out "0x1" + :sender "acc1" + :recipient "acc4" + :timestamp 1588464100} + 5 {:activity-type constants/wallet-activity-type-send + :amount-out "0x1" + :sender "acc1" + :recipient "acc4" + :timestamp 1588464050}} + "acc3" {6 {:activity-type constants/wallet-activity-type-receive :amount-in "0x1" :sender "acc4" :recipient "acc3" :timestamp 1588464000}}}) (assoc-in [:wallet :current-viewing-account-address] "acc1")))) (is - (match? [{:title "May 3, 2020" - :timestamp 1588464000 - :data [{:relative-date "May 3, 2020" - :amount "0" - :network-logo nil - :recipient "acc4" - :transaction :send - :token nil - :network-name nil - :status nil - :sender "acc1" - :timestamp 1588464000}]} - {:title "May 2, 2020" - :timestamp 1588377600 - :data [{:relative-date "May 2, 2020" - :amount "0" - :network-logo nil - :recipient "acc1" - :transaction :receive - :token nil - :network-name nil - :status nil - :sender "acc2" - :timestamp 1588377600}]} - {:title "May 1, 2020" - :timestamp 1588291200 - :data [{:relative-date "May 1, 2020" - :amount "0" - :network-logo nil - :recipient "acc2" - :transaction :send - :token nil - :network-name nil - :status nil - :sender "acc1" - :timestamp 1588291200}]}] - (rf/sub [sub-name]))))) + (match? + [{:title "May 3, 2020" + :timestamp 1588464000 + :data [{:relative-date "May 3, 2020" + :amount "0" + :network-logo nil + :recipient "acc4" + :transaction :send + :token nil + :network-name nil + :status nil + :sender "acc1" + :timestamp 1588464100} + {:relative-date "May 3, 2020" + :amount "0" + :network-logo nil + :recipient "acc4" + :transaction :send + :token nil + :network-name nil + :status nil + :sender "acc1" + :timestamp 1588464050} + {:relative-date "May 3, 2020" + :amount "0" + :network-logo nil + :recipient "acc4" + :transaction :send + :token nil + :network-name nil + :status nil + :sender "acc1" + :timestamp 1588464000}]} + {:title "May 2, 2020" + :timestamp 1588377600 + :data [{:relative-date "May 2, 2020" + :amount "0" + :network-logo nil + :recipient "acc1" + :transaction :receive + :token nil + :network-name nil + :status nil + :sender "acc2" + :timestamp 1588377600}]} + {:title "May 1, 2020" + :timestamp 1588291200 + :data [{:relative-date "May 1, 2020" + :amount "0" + :network-logo nil + :recipient "acc2" + :transaction :send + :token nil + :network-name nil + :status nil + :sender "acc1" + :timestamp 1588291200}]}] + (rf/sub [sub-name])))))