@@ -9,20 +9,19 @@ import { DataSourceError } from '@/domain/errors/data-source.error';
9
9
import { NetworkResponseError } from '@/datasources/network/entities/network.error.entity' ;
10
10
import { rawify } from '@/validation/entities/raw.entity' ;
11
11
import type { IConfigurationService } from '@/config/configuration.service.interface' ;
12
- import type { CacheFirstDataSource } from '@/datasources/cache/cache.first.data.source ' ;
12
+ import type { INetworkService } from '@/datasources/network/network.service.interface ' ;
13
13
14
14
const mockConfigurationService = jest . mocked ( {
15
15
getOrThrow : jest . fn ( ) ,
16
16
} as jest . MockedObjectDeep < IConfigurationService > ) ;
17
17
18
- const mockCacheFirstDataSource = jest . mocked ( {
18
+ const mockNetworkService = jest . mocked ( {
19
19
get : jest . fn ( ) ,
20
20
post : jest . fn ( ) ,
21
- } as jest . MockedObjectDeep < CacheFirstDataSource > ) ;
21
+ } as jest . MockedObjectDeep < INetworkService > ) ;
22
22
23
23
describe ( 'DataDecoderApi' , ( ) => {
24
24
const baseUrl = faker . internet . url ( { appendSlash : false } ) ;
25
- const notFoundExpireTimeSeconds = faker . number . int ( ) ;
26
25
let target : DataDecoderApi ;
27
26
28
27
beforeEach ( ( ) => {
@@ -32,15 +31,12 @@ describe('DataDecoderApi', () => {
32
31
if ( key === 'safeDataDecoder.baseUri' ) {
33
32
return baseUrl ;
34
33
}
35
- if ( key === 'expirationTimeInSeconds.notFound.default' ) {
36
- return notFoundExpireTimeSeconds ;
37
- }
38
34
throw new Error ( 'Unexpected key' ) ;
39
35
} ) ;
40
36
const httpErrorFactory = new HttpErrorFactory ( ) ;
41
37
target = new DataDecoderApi (
42
38
mockConfigurationService ,
43
- mockCacheFirstDataSource ,
39
+ mockNetworkService ,
44
40
httpErrorFactory ,
45
41
) ;
46
42
} ) ;
@@ -52,24 +48,19 @@ describe('DataDecoderApi', () => {
52
48
const chainId = faker . string . numeric ( ) ;
53
49
const data = faker . string . hexadecimal ( ) as `0x${string } `;
54
50
const getDataDecodedUrl = `${ baseUrl } /api/v1/data-decoder` ;
55
- mockCacheFirstDataSource . post . mockImplementation ( ( { url } ) => {
51
+ mockNetworkService . post . mockImplementation ( ( { url } ) => {
56
52
if ( url === getDataDecodedUrl ) {
57
- return Promise . resolve ( rawify ( dataDecoded ) ) ;
53
+ return Promise . resolve ( { status : 200 , data : rawify ( dataDecoded ) } ) ;
58
54
}
59
55
throw new Error ( 'Unexpected URL' ) ;
60
56
} ) ;
61
57
62
58
const actual = await target . getDecodedData ( { data, to, chainId } ) ;
63
59
64
60
expect ( actual ) . toStrictEqual ( dataDecoded ) ;
65
- expect ( mockCacheFirstDataSource . post ) . toHaveBeenCalledTimes ( 1 ) ;
66
- expect ( mockCacheFirstDataSource . post ) . toHaveBeenCalledWith ( {
67
- cacheDir : {
68
- field : '' ,
69
- key : `${ chainId } _decoded_data_${ data } _${ to } ` ,
70
- } ,
61
+ expect ( mockNetworkService . post ) . toHaveBeenCalledTimes ( 1 ) ;
62
+ expect ( mockNetworkService . post ) . toHaveBeenCalledWith ( {
71
63
url : getDataDecodedUrl ,
72
- notFoundExpireTimeSeconds,
73
64
data : { chainId, to, data } ,
74
65
} ) ;
75
66
} ) ;
@@ -84,7 +75,7 @@ describe('DataDecoderApi', () => {
84
75
} ) ;
85
76
const expected = new DataSourceError ( errorMessage , statusCode ) ;
86
77
const getDataDecodedUrl = `${ baseUrl } /api/v1/data-decoder` ;
87
- mockCacheFirstDataSource . post . mockImplementation ( ( { url } ) => {
78
+ mockNetworkService . post . mockImplementation ( ( { url } ) => {
88
79
if ( url === getDataDecodedUrl ) {
89
80
return Promise . reject (
90
81
new NetworkResponseError (
@@ -103,14 +94,9 @@ describe('DataDecoderApi', () => {
103
94
target . getDecodedData ( { data, to, chainId } ) ,
104
95
) . rejects . toThrow ( expected ) ;
105
96
106
- expect ( mockCacheFirstDataSource . post ) . toHaveBeenCalledTimes ( 1 ) ;
107
- expect ( mockCacheFirstDataSource . post ) . toHaveBeenCalledWith ( {
108
- cacheDir : {
109
- field : '' ,
110
- key : `${ chainId } _decoded_data_${ data } _${ to } ` ,
111
- } ,
97
+ expect ( mockNetworkService . post ) . toHaveBeenCalledTimes ( 1 ) ;
98
+ expect ( mockNetworkService . post ) . toHaveBeenCalledWith ( {
112
99
url : getDataDecodedUrl ,
113
- notFoundExpireTimeSeconds,
114
100
data : { chainId, to, data } ,
115
101
} ) ;
116
102
} ) ;
@@ -121,9 +107,9 @@ describe('DataDecoderApi', () => {
121
107
const contract = contractBuilder ( ) . build ( ) ;
122
108
const contractPage = pageBuilder ( ) . with ( 'results' , [ contract ] ) . build ( ) ;
123
109
const getContractsUrl = `${ baseUrl } /api/v1/contracts/${ contract . address } ` ;
124
- mockCacheFirstDataSource . get . mockImplementation ( ( { url } ) => {
110
+ mockNetworkService . get . mockImplementation ( ( { url } ) => {
125
111
if ( url === getContractsUrl ) {
126
- return Promise . resolve ( rawify ( contractPage ) ) ;
112
+ return Promise . resolve ( { status : 200 , data : rawify ( contractPage ) } ) ;
127
113
}
128
114
throw new Error ( 'Unexpected URL' ) ;
129
115
} ) ;
@@ -134,14 +120,9 @@ describe('DataDecoderApi', () => {
134
120
} ) ;
135
121
136
122
expect ( actual ) . toStrictEqual ( contractPage ) ;
137
- expect ( mockCacheFirstDataSource . get ) . toHaveBeenCalledTimes ( 1 ) ;
138
- expect ( mockCacheFirstDataSource . get ) . toHaveBeenCalledWith ( {
139
- cacheDir : {
140
- field : 'undefined_undefined' ,
141
- key : `${ contract . chainId } _decoded_data_contracts_${ contract . address } ` ,
142
- } ,
123
+ expect ( mockNetworkService . get ) . toHaveBeenCalledTimes ( 1 ) ;
124
+ expect ( mockNetworkService . get ) . toHaveBeenCalledWith ( {
143
125
url : getContractsUrl ,
144
- notFoundExpireTimeSeconds,
145
126
networkRequest : {
146
127
params : {
147
128
chain_ids : contract . chainId . toString ( ) ,
@@ -161,9 +142,9 @@ describe('DataDecoderApi', () => {
161
142
] ;
162
143
const contractPage = pageBuilder ( ) . with ( 'results' , [ contract ] ) . build ( ) ;
163
144
const getContractsUrl = `${ baseUrl } /api/v1/contracts/${ contract . address } ` ;
164
- mockCacheFirstDataSource . get . mockImplementation ( ( { url } ) => {
145
+ mockNetworkService . get . mockImplementation ( ( { url } ) => {
165
146
if ( url === getContractsUrl ) {
166
- return Promise . resolve ( rawify ( contractPage ) ) ;
147
+ return Promise . resolve ( { status : 200 , data : rawify ( contractPage ) } ) ;
167
148
}
168
149
throw new Error ( 'Unexpected URL' ) ;
169
150
} ) ;
@@ -174,14 +155,9 @@ describe('DataDecoderApi', () => {
174
155
} ) ;
175
156
176
157
expect ( actual ) . toStrictEqual ( contractPage ) ;
177
- expect ( mockCacheFirstDataSource . get ) . toHaveBeenCalledTimes ( 1 ) ;
178
- expect ( mockCacheFirstDataSource . get ) . toHaveBeenCalledWith ( {
179
- cacheDir : {
180
- field : 'undefined_undefined' ,
181
- key : `${ chainIds . sort ( ) . join ( '_' ) } _decoded_data_contracts_${ contract . address } ` ,
182
- } ,
158
+ expect ( mockNetworkService . get ) . toHaveBeenCalledTimes ( 1 ) ;
159
+ expect ( mockNetworkService . get ) . toHaveBeenCalledWith ( {
183
160
url : getContractsUrl ,
184
- notFoundExpireTimeSeconds,
185
161
networkRequest : {
186
162
params : {
187
163
chain_ids : `${ chainIds [ 0 ] } &chain_ids=${ chainIds [ 1 ] } &chain_ids=${ chainIds [ 2 ] } ` ,
@@ -200,7 +176,7 @@ describe('DataDecoderApi', () => {
200
176
} ) ;
201
177
const expected = new DataSourceError ( errorMessage , statusCode ) ;
202
178
const getContractsUrl = `${ baseUrl } /api/v1/contracts/${ contract . address } ` ;
203
- mockCacheFirstDataSource . get . mockImplementation ( ( { url } ) => {
179
+ mockNetworkService . get . mockImplementation ( ( { url } ) => {
204
180
if ( url === getContractsUrl ) {
205
181
return Promise . reject (
206
182
new NetworkResponseError (
@@ -222,14 +198,9 @@ describe('DataDecoderApi', () => {
222
198
} ) ,
223
199
) . rejects . toThrow ( expected ) ;
224
200
225
- expect ( mockCacheFirstDataSource . get ) . toHaveBeenCalledTimes ( 1 ) ;
226
- expect ( mockCacheFirstDataSource . get ) . toHaveBeenCalledWith ( {
227
- cacheDir : {
228
- field : 'undefined_undefined' ,
229
- key : `${ contract . chainId } _decoded_data_contracts_${ contract . address } ` ,
230
- } ,
201
+ expect ( mockNetworkService . get ) . toHaveBeenCalledTimes ( 1 ) ;
202
+ expect ( mockNetworkService . get ) . toHaveBeenCalledWith ( {
231
203
url : getContractsUrl ,
232
- notFoundExpireTimeSeconds,
233
204
networkRequest : {
234
205
params : {
235
206
chain_ids : contract . chainId . toString ( ) ,
0 commit comments