1
1
import { describe , expect , it } from 'vitest' ;
2
2
3
- import { getSinglePayload } from './encode-payload' ;
3
+ import { stringifyWithBigInt } from '$lib/utilities/parse-with-big-int' ;
4
+
5
+ import { encodePayloads , getSinglePayload } from './encode-payload' ;
4
6
5
7
describe ( 'getSinglePayload' , ( ) => {
6
8
it ( 'should return single payload from single payload' , ( ) => {
@@ -10,8 +12,8 @@ describe('getSinglePayload', () => {
10
12
data : 'eyJ0aXRsZSI6ImhlbGxvIn0=' ,
11
13
} ,
12
14
] ;
13
- const singlePayload = getSinglePayload ( JSON . stringify ( payload ) ) ;
14
- expect ( singlePayload ) . toEqual ( JSON . stringify ( payload [ 0 ] ) ) ;
15
+ const singlePayload = getSinglePayload ( stringifyWithBigInt ( payload ) ) ;
16
+ expect ( singlePayload ) . toEqual ( stringifyWithBigInt ( payload [ 0 ] ) ) ;
15
17
} ) ;
16
18
it ( 'should return single payload from multiple payloads' , ( ) => {
17
19
const payload = [
@@ -21,8 +23,8 @@ describe('getSinglePayload', () => {
21
23
} ,
22
24
{ metadata : { encoding : 'json/plain' } , data : 'cccccasdf' } ,
23
25
] ;
24
- const singlePayload = getSinglePayload ( JSON . stringify ( payload ) ) ;
25
- expect ( singlePayload ) . toEqual ( JSON . stringify ( payload [ 0 ] ) ) ;
26
+ const singlePayload = getSinglePayload ( stringifyWithBigInt ( payload ) ) ;
27
+ expect ( singlePayload ) . toEqual ( stringifyWithBigInt ( payload [ 0 ] ) ) ;
26
28
} ) ;
27
29
it ( 'should return empty string from no payload' , ( ) => {
28
30
const singlePayload = getSinglePayload ( '' ) ;
@@ -33,7 +35,41 @@ describe('getSinglePayload', () => {
33
35
metadata : { encoding : 'json/plain' } ,
34
36
data : 'eyJ0aXRsZSI6ImhlbGxvIn0=' ,
35
37
} ;
36
- const singlePayload = getSinglePayload ( JSON . stringify ( payload ) ) ;
38
+ const singlePayload = getSinglePayload ( stringifyWithBigInt ( payload ) ) ;
37
39
expect ( singlePayload ) . toEqual ( '' ) ;
38
40
} ) ;
39
41
} ) ;
42
+
43
+ describe ( 'encodePayloads' , ( ) => {
44
+ it ( 'should encode single simple string payload' , async ( ) => {
45
+ const payload = await encodePayloads ( {
46
+ input : stringifyWithBigInt ( 'cats' ) ,
47
+ encoding : 'json/plain' ,
48
+ } ) ;
49
+ const expectedEncodedPayload = [
50
+ {
51
+ data : 'ImNhdHMi' ,
52
+ metadata : {
53
+ encoding : 'anNvbi9wbGFpbg==' ,
54
+ } ,
55
+ } ,
56
+ ] ;
57
+ expect ( payload ) . toEqual ( expectedEncodedPayload ) ;
58
+ } ) ;
59
+ it ( 'should encode bigInt string payload' , async ( ) => {
60
+ const input = { foo : 1234213412398883n } ;
61
+ const payload = await encodePayloads ( {
62
+ input : stringifyWithBigInt ( input ) ,
63
+ encoding : 'json/plain' ,
64
+ } ) ;
65
+ const expectedEncodedPayload = [
66
+ {
67
+ data : 'eyJmb28iOjEyMzQyMTM0MTIzOTg4ODN9' ,
68
+ metadata : {
69
+ encoding : 'anNvbi9wbGFpbg==' ,
70
+ } ,
71
+ } ,
72
+ ] ;
73
+ expect ( payload ) . toEqual ( expectedEncodedPayload ) ;
74
+ } ) ;
75
+ } ) ;
0 commit comments