11import 'mocha' ;
22
33import * as chai from 'chai' ;
4+ import * as chaiAsPromised from 'chai-as-promised' ;
45
56import { StorageTypes } from '@requestnetwork/types' ;
67import EthereumMetadataCache from '../../src/lib/ethereum-metadata-cache' ;
78import SmartContractManager from '../../src/lib/smart-contract-manager' ;
89
910const spies = require ( 'chai-spies' ) ;
1011chai . use ( spies ) ;
12+ chai . use ( chaiAsPromised ) ;
1113const expect = chai . expect ;
1214const sandbox = chai . spy . sandbox ( ) ;
1315
@@ -56,36 +58,38 @@ const getMetaFromEthereumMock = async (hash: string): Promise<StorageTypes.IEthe
5658} ;
5759
5860describe ( 'EthereumMetadataCache' , ( ) => {
59-
6061 beforeEach ( ( ) => {
6162 sandbox . restore ( ) ;
6263 smartContractManager = new SmartContractManager ( ) ;
6364 ethereumMetadataCache = new EthereumMetadataCache ( smartContractManager ) ;
6465 } ) ;
6566
6667 it ( 'allows to save metadata' , async ( ) => {
67- await expect ( ethereumMetadataCache . metadataCache [ hashExample1 ] ) . to . be . undefined ;
68- await expect ( ethereumMetadataCache . metadataCache [ hashExample2 ] ) . to . be . undefined ;
69- await expect ( ethereumMetadataCache . metadataCache [ hashExample3 ] ) . to . be . undefined ;
68+ await expect ( ethereumMetadataCache . metadataCache . get ( hashExample1 ) ) . to . eventually . be . undefined ;
69+ await expect ( ethereumMetadataCache . metadataCache . get ( hashExample2 ) ) . to . eventually . be . undefined ;
70+ await expect ( ethereumMetadataCache . metadataCache . get ( hashExample3 ) ) . to . eventually . be . undefined ;
7071
71- ethereumMetadataCache . saveDataIdMeta ( hashExample1 , ethereumMetadataExample1 ) ;
72- ethereumMetadataCache . saveDataIdMeta ( hashExample2 , ethereumMetadataExample2 ) ;
73- ethereumMetadataCache . saveDataIdMeta ( hashExample3 , ethereumMetadataExample3 ) ;
72+ await ethereumMetadataCache . saveDataIdMeta ( hashExample1 , ethereumMetadataExample1 ) ;
73+ await ethereumMetadataCache . saveDataIdMeta ( hashExample2 , ethereumMetadataExample2 ) ;
74+ await ethereumMetadataCache . saveDataIdMeta ( hashExample3 , ethereumMetadataExample3 ) ;
7475
75- await expect ( ethereumMetadataCache . metadataCache [ hashExample1 ] ) . to . deep . equal ( ethereumMetadataExample1 ) ;
76- await expect ( ethereumMetadataCache . metadataCache [ hashExample2 ] ) . to . deep . equal ( ethereumMetadataExample2 ) ;
77- await expect ( ethereumMetadataCache . metadataCache [ hashExample3 ] ) . to . deep . equal ( ethereumMetadataExample3 ) ;
76+ await expect ( ethereumMetadataCache . metadataCache . get ( hashExample1 ) ) . to . eventually . deep . equal (
77+ ethereumMetadataExample1 ,
78+ ) ;
79+ await expect ( ethereumMetadataCache . metadataCache . get ( hashExample2 ) ) . to . eventually . deep . equal (
80+ ethereumMetadataExample2 ,
81+ ) ;
82+ await expect ( ethereumMetadataCache . metadataCache . get ( hashExample3 ) ) . to . eventually . deep . equal (
83+ ethereumMetadataExample3 ,
84+ ) ;
7885 } ) ;
7986
8087 it ( 'allows to retrieve saved metadata' , async ( ) => {
81- const spy = sandbox . on (
82- smartContractManager ,
83- 'getMetaFromEthereum' ,
84- ) ;
88+ const spy = sandbox . on ( smartContractManager , 'getMetaFromEthereum' ) ;
8589
86- ethereumMetadataCache . saveDataIdMeta ( hashExample1 , ethereumMetadataExample1 ) ;
87- ethereumMetadataCache . saveDataIdMeta ( hashExample2 , ethereumMetadataExample2 ) ;
88- ethereumMetadataCache . saveDataIdMeta ( hashExample3 , ethereumMetadataExample3 ) ;
90+ await ethereumMetadataCache . saveDataIdMeta ( hashExample1 , ethereumMetadataExample1 ) ;
91+ await ethereumMetadataCache . saveDataIdMeta ( hashExample2 , ethereumMetadataExample2 ) ;
92+ await ethereumMetadataCache . saveDataIdMeta ( hashExample3 , ethereumMetadataExample3 ) ;
8993
9094 const readReturn1 = await ethereumMetadataCache . getDataIdMeta ( hashExample1 ) ;
9195 const readReturn2 = await ethereumMetadataCache . getDataIdMeta ( hashExample2 ) ;
@@ -101,35 +105,34 @@ describe('EthereumMetadataCache', () => {
101105 it ( 'allows to save when trying to read new metadata' , async ( ) => {
102106 smartContractManager . getMetaFromEthereum = getMetaFromEthereumMock ;
103107
104- const spy = sandbox . on (
105- smartContractManager ,
106- 'getMetaFromEthereum' ,
107- ) ;
108+ const spy = sandbox . on ( smartContractManager , 'getMetaFromEthereum' ) ;
108109
109- await expect ( ethereumMetadataCache . metadataCache [ hashExample1 ] ) . to . be . undefined ;
110- await expect ( ethereumMetadataCache . metadataCache [ hashExample2 ] ) . to . be . undefined ;
111- await expect ( ethereumMetadataCache . metadataCache [ hashExample3 ] ) . to . be . undefined ;
110+ await expect ( ethereumMetadataCache . metadataCache . get ( hashExample1 ) ) . to . eventually . be . undefined ;
111+ await expect ( ethereumMetadataCache . metadataCache . get ( hashExample2 ) ) . to . eventually . be . undefined ;
112+ await expect ( ethereumMetadataCache . metadataCache . get ( hashExample3 ) ) . to . eventually . be . undefined ;
112113
113114 const readReturn1 = await ethereumMetadataCache . getDataIdMeta ( hashExample1 ) ;
114115 await expect ( readReturn1 ) . to . deep . equal ( ethereumMetadataExample1 ) ;
115116 await expect ( spy ) . to . have . been . called . once ;
116- await expect ( ethereumMetadataCache . metadataCache [ hashExample2 ] ) . to . be . undefined ;
117- await expect ( ethereumMetadataCache . metadataCache [ hashExample3 ] ) . to . be . undefined ;
117+ await expect ( ethereumMetadataCache . metadataCache . get ( hashExample2 ) ) . to . eventually . be . undefined ;
118+ await expect ( ethereumMetadataCache . metadataCache . get ( hashExample3 ) ) . to . eventually . be . undefined ;
118119
119120 const readReturn2 = await ethereumMetadataCache . getDataIdMeta ( hashExample2 ) ;
120121 await expect ( readReturn2 ) . to . deep . equal ( ethereumMetadataExample2 ) ;
121122 await expect ( spy ) . to . have . been . called . twice ;
122- await expect ( ethereumMetadataCache . metadataCache [ hashExample3 ] ) . to . be . undefined ;
123+ await expect ( ethereumMetadataCache . metadataCache . get ( hashExample3 ) ) . to . eventually . be . undefined ;
123124
124125 const readReturn3 = await ethereumMetadataCache . getDataIdMeta ( hashExample3 ) ;
125126 await expect ( readReturn3 ) . to . deep . equal ( ethereumMetadataExample3 ) ;
126127 await expect ( spy ) . to . have . been . called . exactly ( 3 ) ;
127128 } ) ;
128129
129130 it ( 'cannot erase metadata of dataId with new metadata' , async ( ) => {
130- ethereumMetadataCache . saveDataIdMeta ( hashExample1 , ethereumMetadataExample1 ) ;
131- ethereumMetadataCache . saveDataIdMeta ( hashExample1 , ethereumMetadataExample2 ) ;
131+ await ethereumMetadataCache . saveDataIdMeta ( hashExample1 , ethereumMetadataExample1 ) ;
132+ await ethereumMetadataCache . saveDataIdMeta ( hashExample1 , ethereumMetadataExample2 ) ;
132133
133- await expect ( ethereumMetadataCache . metadataCache [ hashExample1 ] ) . to . deep . equal ( ethereumMetadataExample1 ) ;
134+ await expect ( ethereumMetadataCache . metadataCache . get ( hashExample1 ) ) . to . eventually . deep . equal (
135+ ethereumMetadataExample1 ,
136+ ) ;
134137 } ) ;
135138} ) ;
0 commit comments