@@ -8,6 +8,11 @@ const { PublicTrade } = require('../../../lib')
88const testModel = require ( '../../helpers/test_model' )
99const testModelValidation = require ( '../../helpers/test_model_validation' )
1010
11+ const snapshot = [
12+ [ 267951933 , 1645117845846 , - 5862.1 , 0.002 , 2 ] ,
13+ [ 267947377 , 1645115432454 , - 83763.1 , 0.003 , 3 ]
14+ ]
15+
1116describe ( 'Public Trade model' , ( ) => {
1217 testModel ( {
1318 model : PublicTrade ,
@@ -64,6 +69,40 @@ describe('Public Trade model', () => {
6469 } )
6570 } ) . timeout ( 60000 )
6671
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+
67106 describe ( 'toString' , ( ) => {
68107 it ( 'includes pertinent information' , ( ) => {
69108 const t = new PublicTrade ( {
0 commit comments