@@ -8,6 +8,11 @@ const { PublicTrade } = require('../../../lib')
8
8
const testModel = require ( '../../helpers/test_model' )
9
9
const testModelValidation = require ( '../../helpers/test_model_validation' )
10
10
11
+ const snapshot = [
12
+ [ 267951933 , 1645117845846 , - 5862.1 , 0.002 , 2 ] ,
13
+ [ 267947377 , 1645115432454 , - 83763.1 , 0.003 , 3 ]
14
+ ]
15
+
11
16
describe ( 'Public Trade model' , ( ) => {
12
17
testModel ( {
13
18
model : PublicTrade ,
@@ -64,6 +69,40 @@ describe('Public Trade model', () => {
64
69
} )
65
70
} ) . timeout ( 60000 )
66
71
72
+ it ( 'unserializes snapshot' , async ( ) => {
73
+ const serialized = PublicTrade . unserialize ( snapshot )
74
+
75
+ serialized . forEach ( ( item , i ) => {
76
+ Object . keys ( PublicTrade . FUNDING_FIELDS ) . forEach ( field => {
77
+ assert . strictEqual ( item [ field ] , snapshot [ i ] [ PublicTrade . FUNDING_FIELDS [ field ] ] )
78
+ } )
79
+ } )
80
+ } ) . timeout ( 60000 )
81
+
82
+ it ( 'creates instance from unserialized snapshot ' , async ( ) => {
83
+ const trades = new PublicTrade ( PublicTrade . unserialize ( snapshot ) )
84
+
85
+ for ( let i = 0 ; i < trades . length ; i ++ ) {
86
+ const item = trades [ i ]
87
+
88
+ Object . keys ( PublicTrade . FUNDING_FIELDS ) . forEach ( field => {
89
+ assert . strictEqual ( item [ field ] , snapshot [ i ] [ PublicTrade . FUNDING_FIELDS [ field ] ] )
90
+ } )
91
+ }
92
+ } ) . timeout ( 60000 )
93
+
94
+ it ( 'creates instance from snapshot' , async ( ) => {
95
+ const trades = new PublicTrade ( snapshot )
96
+
97
+ for ( let i = 0 ; i < trades . length ; i ++ ) {
98
+ const item = trades [ i ]
99
+
100
+ Object . keys ( PublicTrade . FUNDING_FIELDS ) . forEach ( field => {
101
+ assert . strictEqual ( item [ field ] , snapshot [ i ] [ PublicTrade . FUNDING_FIELDS [ field ] ] )
102
+ } )
103
+ }
104
+ } ) . timeout ( 60000 )
105
+
67
106
describe ( 'toString' , ( ) => {
68
107
it ( 'includes pertinent information' , ( ) => {
69
108
const t = new PublicTrade ( {
0 commit comments