@@ -1938,6 +1938,158 @@ describe('tx tests', () => {
1938
1938
expect ( JSON . parse ( fetchTx . text ) ) . toEqual ( expectedResp ) ;
1939
1939
} ) ;
1940
1940
1941
+ test ( 'tx list - order by' , async ( ) => {
1942
+ const block1 = new TestBlockBuilder ( { block_height : 1 , index_block_hash : '0x01' } )
1943
+ . addTx ( {
1944
+ tx_id : '0x1234' ,
1945
+ fee_rate : 1n ,
1946
+ burn_block_time : 2 ,
1947
+ } )
1948
+ . build ( ) ;
1949
+
1950
+ await db . update ( block1 ) ;
1951
+
1952
+ const block2 = new TestBlockBuilder ( {
1953
+ block_height : 2 ,
1954
+ index_block_hash : '0x02' ,
1955
+ parent_block_hash : block1 . block . block_hash ,
1956
+ parent_index_block_hash : block1 . block . index_block_hash ,
1957
+ } )
1958
+ . addTx ( {
1959
+ tx_id : '0x2234' ,
1960
+ fee_rate : 3n ,
1961
+ burn_block_time : 1 ,
1962
+ } )
1963
+ . build ( ) ;
1964
+ await db . update ( block2 ) ;
1965
+
1966
+ const block3 = new TestBlockBuilder ( {
1967
+ block_height : 3 ,
1968
+ index_block_hash : '0x03' ,
1969
+ parent_block_hash : block2 . block . block_hash ,
1970
+ parent_index_block_hash : block2 . block . index_block_hash ,
1971
+ } )
1972
+ . addTx ( {
1973
+ tx_id : '0x3234' ,
1974
+ fee_rate : 2n ,
1975
+ burn_block_time : 3 ,
1976
+ } )
1977
+ . build ( ) ;
1978
+ await db . update ( block3 ) ;
1979
+
1980
+ const txsReqAsc = await supertest ( api . server ) . get ( `/extended/v1/tx?order=asc` ) ;
1981
+ expect ( txsReqAsc . status ) . toBe ( 200 ) ;
1982
+ expect ( txsReqAsc . body ) . toEqual (
1983
+ expect . objectContaining ( {
1984
+ results : [
1985
+ expect . objectContaining ( {
1986
+ tx_id : block1 . txs [ 0 ] . tx . tx_id ,
1987
+ } ) ,
1988
+ expect . objectContaining ( {
1989
+ tx_id : block2 . txs [ 0 ] . tx . tx_id ,
1990
+ } ) ,
1991
+ expect . objectContaining ( {
1992
+ tx_id : block3 . txs [ 0 ] . tx . tx_id ,
1993
+ } ) ,
1994
+ ] ,
1995
+ } )
1996
+ ) ;
1997
+
1998
+ const txsReqDesc = await supertest ( api . server ) . get ( `/extended/v1/tx?order=desc` ) ;
1999
+ expect ( txsReqDesc . status ) . toBe ( 200 ) ;
2000
+ expect ( txsReqDesc . body ) . toEqual (
2001
+ expect . objectContaining ( {
2002
+ results : [
2003
+ expect . objectContaining ( {
2004
+ tx_id : block3 . txs [ 0 ] . tx . tx_id ,
2005
+ } ) ,
2006
+ expect . objectContaining ( {
2007
+ tx_id : block2 . txs [ 0 ] . tx . tx_id ,
2008
+ } ) ,
2009
+ expect . objectContaining ( {
2010
+ tx_id : block1 . txs [ 0 ] . tx . tx_id ,
2011
+ } ) ,
2012
+ ] ,
2013
+ } )
2014
+ ) ;
2015
+
2016
+ const txsReqTimeDesc = await supertest ( api . server ) . get (
2017
+ `/extended/v1/tx?sort_by=burn_block_time&order=desc`
2018
+ ) ;
2019
+ expect ( txsReqTimeDesc . status ) . toBe ( 200 ) ;
2020
+ expect ( txsReqTimeDesc . body ) . toEqual (
2021
+ expect . objectContaining ( {
2022
+ results : [
2023
+ expect . objectContaining ( {
2024
+ tx_id : block3 . txs [ 0 ] . tx . tx_id ,
2025
+ } ) ,
2026
+ expect . objectContaining ( {
2027
+ tx_id : block1 . txs [ 0 ] . tx . tx_id ,
2028
+ } ) ,
2029
+ expect . objectContaining ( {
2030
+ tx_id : block2 . txs [ 0 ] . tx . tx_id ,
2031
+ } ) ,
2032
+ ] ,
2033
+ } )
2034
+ ) ;
2035
+
2036
+ const txsReqTimeAsc = await supertest ( api . server ) . get (
2037
+ `/extended/v1/tx?sort_by=burn_block_time&order=asc`
2038
+ ) ;
2039
+ expect ( txsReqTimeAsc . status ) . toBe ( 200 ) ;
2040
+ expect ( txsReqTimeAsc . body ) . toEqual (
2041
+ expect . objectContaining ( {
2042
+ results : [
2043
+ expect . objectContaining ( {
2044
+ tx_id : block2 . txs [ 0 ] . tx . tx_id ,
2045
+ } ) ,
2046
+ expect . objectContaining ( {
2047
+ tx_id : block1 . txs [ 0 ] . tx . tx_id ,
2048
+ } ) ,
2049
+ expect . objectContaining ( {
2050
+ tx_id : block3 . txs [ 0 ] . tx . tx_id ,
2051
+ } ) ,
2052
+ ] ,
2053
+ } )
2054
+ ) ;
2055
+
2056
+ const txsReqFeeDesc = await supertest ( api . server ) . get ( `/extended/v1/tx?sort_by=fee&order=desc` ) ;
2057
+ expect ( txsReqFeeDesc . status ) . toBe ( 200 ) ;
2058
+ expect ( txsReqFeeDesc . body ) . toEqual (
2059
+ expect . objectContaining ( {
2060
+ results : [
2061
+ expect . objectContaining ( {
2062
+ tx_id : block2 . txs [ 0 ] . tx . tx_id ,
2063
+ } ) ,
2064
+ expect . objectContaining ( {
2065
+ tx_id : block3 . txs [ 0 ] . tx . tx_id ,
2066
+ } ) ,
2067
+ expect . objectContaining ( {
2068
+ tx_id : block1 . txs [ 0 ] . tx . tx_id ,
2069
+ } ) ,
2070
+ ] ,
2071
+ } )
2072
+ ) ;
2073
+
2074
+ const txsReqFeeAsc = await supertest ( api . server ) . get ( `/extended/v1/tx?sort_by=fee&order=asc` ) ;
2075
+ expect ( txsReqFeeAsc . status ) . toBe ( 200 ) ;
2076
+ expect ( txsReqFeeAsc . body ) . toEqual (
2077
+ expect . objectContaining ( {
2078
+ results : [
2079
+ expect . objectContaining ( {
2080
+ tx_id : block1 . txs [ 0 ] . tx . tx_id ,
2081
+ } ) ,
2082
+ expect . objectContaining ( {
2083
+ tx_id : block3 . txs [ 0 ] . tx . tx_id ,
2084
+ } ) ,
2085
+ expect . objectContaining ( {
2086
+ tx_id : block2 . txs [ 0 ] . tx . tx_id ,
2087
+ } ) ,
2088
+ ] ,
2089
+ } )
2090
+ ) ;
2091
+ } ) ;
2092
+
1941
2093
test ( 'fetch raw tx' , async ( ) => {
1942
2094
const block : DbBlock = {
1943
2095
block_hash : '0x1234' ,
0 commit comments