@@ -20,89 +20,117 @@ describe('GCM', () => {
20
20
21
21
it ( 'can generate GCM Payload without expiration time' , ( done ) => {
22
22
//Mock request data
23
- var data = {
24
- 'alert' : 'alert'
23
+ var requestData = {
24
+ data : {
25
+ 'alert' : 'alert'
26
+ } ,
27
+ notification : {
28
+ 'title' : 'I am a title' ,
29
+ 'body' : 'I am a body'
30
+ }
25
31
} ;
26
32
var pushId = 'pushId' ;
27
33
var timeStamp = 1454538822113 ;
28
34
var timeStampISOStr = new Date ( timeStamp ) . toISOString ( ) ;
29
35
30
- var payload = GCM . generateGCMPayload ( data , pushId , timeStamp ) ;
36
+ var payload = GCM . generateGCMPayload ( requestData , pushId , timeStamp ) ;
31
37
32
- expect ( payload . priority ) . toEqual ( 'normal ' ) ;
38
+ expect ( payload . priority ) . toEqual ( 'high ' ) ;
33
39
expect ( payload . timeToLive ) . toEqual ( undefined ) ;
34
40
var dataFromPayload = payload . data ;
35
41
expect ( dataFromPayload . time ) . toEqual ( timeStampISOStr ) ;
42
+ expect ( payload . notification ) . toEqual ( requestData . notification ) ;
36
43
expect ( dataFromPayload [ 'push_id' ] ) . toEqual ( pushId ) ;
37
- var dataFromUser = JSON . parse ( dataFromPayload . data ) ;
38
- expect ( dataFromUser ) . toEqual ( data ) ;
44
+ var dataFromUser = dataFromPayload . data ;
45
+ expect ( dataFromUser ) . toEqual ( requestData . data ) ;
39
46
done ( ) ;
40
47
} ) ;
41
48
42
49
it ( 'can generate GCM Payload with valid expiration time' , ( done ) => {
43
50
//Mock request data
44
- var data = {
45
- 'alert' : 'alert'
51
+ var requestData = {
52
+ data : {
53
+ 'alert' : 'alert'
54
+ } ,
55
+ notification : {
56
+ 'title' : 'I am a title' ,
57
+ 'body' : 'I am a body'
58
+ }
46
59
} ;
47
60
var pushId = 'pushId' ;
48
61
var timeStamp = 1454538822113 ;
49
62
var timeStampISOStr = new Date ( timeStamp ) . toISOString ( ) ;
50
63
var expirationTime = 1454538922113
51
64
52
- var payload = GCM . generateGCMPayload ( data , pushId , timeStamp , expirationTime ) ;
65
+ var payload = GCM . generateGCMPayload ( requestData , pushId , timeStamp , expirationTime ) ;
53
66
54
- expect ( payload . priority ) . toEqual ( 'normal ' ) ;
67
+ expect ( payload . priority ) . toEqual ( 'high ' ) ;
55
68
expect ( payload . timeToLive ) . toEqual ( Math . floor ( ( expirationTime - timeStamp ) / 1000 ) ) ;
56
69
var dataFromPayload = payload . data ;
57
70
expect ( dataFromPayload . time ) . toEqual ( timeStampISOStr ) ;
71
+ expect ( payload . notification ) . toEqual ( requestData . notification ) ;
58
72
expect ( dataFromPayload [ 'push_id' ] ) . toEqual ( pushId ) ;
59
- var dataFromUser = JSON . parse ( dataFromPayload . data ) ;
60
- expect ( dataFromUser ) . toEqual ( data ) ;
73
+ var dataFromUser = dataFromPayload . data ;
74
+ expect ( dataFromUser ) . toEqual ( requestData . data ) ;
61
75
done ( ) ;
62
76
} ) ;
63
77
64
78
it ( 'can generate GCM Payload with too early expiration time' , ( done ) => {
65
79
//Mock request data
66
- var data = {
67
- 'alert' : 'alert'
80
+ var requestData = {
81
+ data : {
82
+ 'alert' : 'alert'
83
+ } ,
84
+ notification : {
85
+ 'title' : 'I am a title' ,
86
+ 'body' : 'I am a body'
87
+ }
68
88
} ;
69
89
var pushId = 'pushId' ;
70
90
var timeStamp = 1454538822113 ;
71
91
var timeStampISOStr = new Date ( timeStamp ) . toISOString ( ) ;
72
92
var expirationTime = 1454538822112 ;
73
93
74
- var payload = GCM . generateGCMPayload ( data , pushId , timeStamp , expirationTime ) ;
94
+ var payload = GCM . generateGCMPayload ( requestData , pushId , timeStamp , expirationTime ) ;
75
95
76
- expect ( payload . priority ) . toEqual ( 'normal ' ) ;
96
+ expect ( payload . priority ) . toEqual ( 'high ' ) ;
77
97
expect ( payload . timeToLive ) . toEqual ( 0 ) ;
78
98
var dataFromPayload = payload . data ;
79
99
expect ( dataFromPayload . time ) . toEqual ( timeStampISOStr ) ;
100
+ expect ( payload . notification ) . toEqual ( requestData . notification ) ;
80
101
expect ( dataFromPayload [ 'push_id' ] ) . toEqual ( pushId ) ;
81
- var dataFromUser = JSON . parse ( dataFromPayload . data ) ;
82
- expect ( dataFromUser ) . toEqual ( data ) ;
102
+ var dataFromUser = dataFromPayload . data ;
103
+ expect ( dataFromUser ) . toEqual ( requestData . data ) ;
83
104
done ( ) ;
84
105
} ) ;
85
106
86
107
it ( 'can generate GCM Payload with too late expiration time' , ( done ) => {
87
108
//Mock request data
88
- var data = {
89
- 'alert' : 'alert'
109
+ var requestData = {
110
+ data : {
111
+ 'alert' : 'alert'
112
+ } ,
113
+ notification : {
114
+ 'title' : 'I am a title' ,
115
+ 'body' : 'I am a body'
116
+ }
90
117
} ;
91
118
var pushId = 'pushId' ;
92
119
var timeStamp = 1454538822113 ;
93
120
var timeStampISOStr = new Date ( timeStamp ) . toISOString ( ) ;
94
121
var expirationTime = 2454538822113 ;
95
122
96
- var payload = GCM . generateGCMPayload ( data , pushId , timeStamp , expirationTime ) ;
123
+ var payload = GCM . generateGCMPayload ( requestData , pushId , timeStamp , expirationTime ) ;
97
124
98
- expect ( payload . priority ) . toEqual ( 'normal ' ) ;
125
+ expect ( payload . priority ) . toEqual ( 'high ' ) ;
99
126
// Four week in second
100
127
expect ( payload . timeToLive ) . toEqual ( 4 * 7 * 24 * 60 * 60 ) ;
101
128
var dataFromPayload = payload . data ;
102
129
expect ( dataFromPayload . time ) . toEqual ( timeStampISOStr ) ;
130
+ expect ( payload . notification ) . toEqual ( requestData . notification ) ;
103
131
expect ( dataFromPayload [ 'push_id' ] ) . toEqual ( pushId ) ;
104
- var dataFromUser = JSON . parse ( dataFromPayload . data ) ;
105
- expect ( dataFromUser ) . toEqual ( data ) ;
132
+ var dataFromUser = dataFromPayload . data ;
133
+ expect ( dataFromUser ) . toEqual ( requestData . data ) ;
106
134
done ( ) ;
107
135
} ) ;
108
136
0 commit comments