@@ -20,89 +20,117 @@ describe('GCM', () => {
2020
2121 it ( 'can generate GCM Payload without expiration time' , ( done ) => {
2222 //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+ }
2531 } ;
2632 var pushId = 'pushId' ;
2733 var timeStamp = 1454538822113 ;
2834 var timeStampISOStr = new Date ( timeStamp ) . toISOString ( ) ;
2935
30- var payload = GCM . generateGCMPayload ( data , pushId , timeStamp ) ;
36+ var payload = GCM . generateGCMPayload ( requestData , pushId , timeStamp ) ;
3137
32- expect ( payload . priority ) . toEqual ( 'normal ' ) ;
38+ expect ( payload . priority ) . toEqual ( 'high ' ) ;
3339 expect ( payload . timeToLive ) . toEqual ( undefined ) ;
3440 var dataFromPayload = payload . data ;
3541 expect ( dataFromPayload . time ) . toEqual ( timeStampISOStr ) ;
42+ expect ( payload . notification ) . toEqual ( requestData . notification ) ;
3643 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 ) ;
3946 done ( ) ;
4047 } ) ;
4148
4249 it ( 'can generate GCM Payload with valid expiration time' , ( done ) => {
4350 //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+ }
4659 } ;
4760 var pushId = 'pushId' ;
4861 var timeStamp = 1454538822113 ;
4962 var timeStampISOStr = new Date ( timeStamp ) . toISOString ( ) ;
5063 var expirationTime = 1454538922113
5164
52- var payload = GCM . generateGCMPayload ( data , pushId , timeStamp , expirationTime ) ;
65+ var payload = GCM . generateGCMPayload ( requestData , pushId , timeStamp , expirationTime ) ;
5366
54- expect ( payload . priority ) . toEqual ( 'normal ' ) ;
67+ expect ( payload . priority ) . toEqual ( 'high ' ) ;
5568 expect ( payload . timeToLive ) . toEqual ( Math . floor ( ( expirationTime - timeStamp ) / 1000 ) ) ;
5669 var dataFromPayload = payload . data ;
5770 expect ( dataFromPayload . time ) . toEqual ( timeStampISOStr ) ;
71+ expect ( payload . notification ) . toEqual ( requestData . notification ) ;
5872 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 ) ;
6175 done ( ) ;
6276 } ) ;
6377
6478 it ( 'can generate GCM Payload with too early expiration time' , ( done ) => {
6579 //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+ }
6888 } ;
6989 var pushId = 'pushId' ;
7090 var timeStamp = 1454538822113 ;
7191 var timeStampISOStr = new Date ( timeStamp ) . toISOString ( ) ;
7292 var expirationTime = 1454538822112 ;
7393
74- var payload = GCM . generateGCMPayload ( data , pushId , timeStamp , expirationTime ) ;
94+ var payload = GCM . generateGCMPayload ( requestData , pushId , timeStamp , expirationTime ) ;
7595
76- expect ( payload . priority ) . toEqual ( 'normal ' ) ;
96+ expect ( payload . priority ) . toEqual ( 'high ' ) ;
7797 expect ( payload . timeToLive ) . toEqual ( 0 ) ;
7898 var dataFromPayload = payload . data ;
7999 expect ( dataFromPayload . time ) . toEqual ( timeStampISOStr ) ;
100+ expect ( payload . notification ) . toEqual ( requestData . notification ) ;
80101 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 ) ;
83104 done ( ) ;
84105 } ) ;
85106
86107 it ( 'can generate GCM Payload with too late expiration time' , ( done ) => {
87108 //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+ }
90117 } ;
91118 var pushId = 'pushId' ;
92119 var timeStamp = 1454538822113 ;
93120 var timeStampISOStr = new Date ( timeStamp ) . toISOString ( ) ;
94121 var expirationTime = 2454538822113 ;
95122
96- var payload = GCM . generateGCMPayload ( data , pushId , timeStamp , expirationTime ) ;
123+ var payload = GCM . generateGCMPayload ( requestData , pushId , timeStamp , expirationTime ) ;
97124
98- expect ( payload . priority ) . toEqual ( 'normal ' ) ;
125+ expect ( payload . priority ) . toEqual ( 'high ' ) ;
99126 // Four week in second
100127 expect ( payload . timeToLive ) . toEqual ( 4 * 7 * 24 * 60 * 60 ) ;
101128 var dataFromPayload = payload . data ;
102129 expect ( dataFromPayload . time ) . toEqual ( timeStampISOStr ) ;
130+ expect ( payload . notification ) . toEqual ( requestData . notification ) ;
103131 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 ) ;
106134 done ( ) ;
107135 } ) ;
108136
0 commit comments