@@ -17,7 +17,12 @@ describe('normalize', function() {
1717 it ( 'should merge original with normalized' , function ( ) {
1818 msg . userId = 'user-id' ;
1919 opts . integrations = { Segment : true } ;
20- assert . deepEqual ( normalize ( msg , list ) , {
20+ var normalized = normalize ( msg , list ) ;
21+
22+ assert . lengthEquals ( normalized . messageId , 36 ) ;
23+ delete normalized . messageId ;
24+
25+ assert . deepEqual ( normalized , {
2126 integrations : { Segment : true } ,
2227 userId : 'user-id' ,
2328 context : { }
@@ -44,7 +49,12 @@ describe('normalize', function() {
4449 opts . campaign = { name : 'campaign-name' } ;
4550 opts . library = 'analytics-wordpress' ;
4651 opts . traits = { trait : true } ;
47- assert . deepEqual ( normalize ( msg , list ) , {
52+ var normalized = normalize ( msg , list ) ;
53+
54+ assert . lengthEquals ( normalized . messageId , 36 ) ;
55+ delete normalized . messageId ;
56+
57+ assert . deepEqual ( normalized , {
4858 integrations : { } ,
4959 context : {
5060 campaign : { name : 'campaign-name' } ,
@@ -61,7 +71,12 @@ describe('normalize', function() {
6171 it ( 'should move to .integrations' , function ( ) {
6272 opts . Segment = true ;
6373 opts . KISSmetrics = false ;
64- assert . deepEqual ( normalize ( msg , list ) , {
74+ var normalized = normalize ( msg , list ) ;
75+
76+ assert . lengthEquals ( normalized . messageId , 36 ) ;
77+ delete normalized . messageId ;
78+
79+ assert . deepEqual ( normalized , {
6580 context : { } ,
6681 integrations : {
6782 Segment : true ,
@@ -73,7 +88,12 @@ describe('normalize', function() {
7388 it ( 'should match integration names' , function ( ) {
7489 opts . segment = true ;
7590 opts . KissMetrics = false ;
76- assert . deepEqual ( normalize ( msg , list ) , {
91+ var normalized = normalize ( msg , list ) ;
92+
93+ assert . lengthEquals ( normalized . messageId , 36 ) ;
94+ delete normalized . messageId ;
95+
96+ assert . deepEqual ( normalized , {
7797 context : { } ,
7898 integrations : {
7999 segment : true ,
@@ -84,7 +104,12 @@ describe('normalize', function() {
84104
85105 it ( 'should move .All' , function ( ) {
86106 opts . All = true ;
87- assert . deepEqual ( normalize ( msg , list ) , {
107+ var normalized = normalize ( msg , list ) ;
108+
109+ assert . lengthEquals ( normalized . messageId , 36 ) ;
110+ delete normalized . messageId ;
111+
112+ assert . deepEqual ( normalized , {
88113 context : { } ,
89114 integrations : {
90115 All : true
@@ -94,7 +119,12 @@ describe('normalize', function() {
94119
95120 it ( 'should move .all' , function ( ) {
96121 opts . all = true ;
97- assert . deepEqual ( normalize ( msg , list ) , {
122+ var normalized = normalize ( msg , list ) ;
123+
124+ assert . lengthEquals ( normalized . messageId , 36 ) ;
125+ delete normalized . messageId ;
126+
127+ assert . deepEqual ( normalized , {
98128 context : { } ,
99129 integrations : {
100130 all : true
@@ -108,7 +138,12 @@ describe('normalize', function() {
108138 opts . integrations = { } ;
109139 opts . integrations . all = true ;
110140 opts . integrations . Segment = true ;
111- assert . deepEqual ( normalize ( msg , list ) , {
141+ var normalized = normalize ( msg , list ) ;
142+
143+ assert . lengthEquals ( normalized . messageId , 36 ) ;
144+ delete normalized . messageId ;
145+
146+ assert . deepEqual ( normalized , {
112147 context : { } ,
113148 integrations : {
114149 all : true ,
@@ -128,7 +163,12 @@ describe('normalize', function() {
128163 it ( 'should move to .integrations' , function ( ) {
129164 providers . Segment = true ;
130165 providers . KISSmetrics = false ;
131- assert . deepEqual ( normalize ( msg , list ) , {
166+ var normalized = normalize ( msg , list ) ;
167+
168+ assert . lengthEquals ( normalized . messageId , 36 ) ;
169+ delete normalized . messageId ;
170+
171+ assert . deepEqual ( normalized , {
132172 context : { } ,
133173 integrations : {
134174 Segment : true ,
@@ -140,7 +180,12 @@ describe('normalize', function() {
140180 it ( 'should match integration names' , function ( ) {
141181 providers . segment = true ;
142182 providers . KissMetrics = false ;
143- assert . deepEqual ( normalize ( msg , list ) , {
183+ var normalized = normalize ( msg , list ) ;
184+
185+ assert . lengthEquals ( normalized . messageId , 36 ) ;
186+ delete normalized . messageId ;
187+
188+ assert . deepEqual ( normalized , {
144189 context : { } ,
145190 integrations : {
146191 segment : true ,
@@ -151,7 +196,12 @@ describe('normalize', function() {
151196
152197 it ( 'should move .All' , function ( ) {
153198 providers . All = true ;
154- assert . deepEqual ( normalize ( msg , list ) , {
199+ var normalized = normalize ( msg , list ) ;
200+
201+ assert . lengthEquals ( normalized . messageId , 36 ) ;
202+ delete normalized . messageId ;
203+
204+ assert . deepEqual ( normalized , {
155205 context : { } ,
156206 integrations : {
157207 All : true
@@ -161,7 +211,12 @@ describe('normalize', function() {
161211
162212 it ( 'should move .all' , function ( ) {
163213 providers . all = true ;
164- assert . deepEqual ( normalize ( msg , list ) , {
214+ var normalized = normalize ( msg , list ) ;
215+
216+ assert . lengthEquals ( normalized . messageId , 36 ) ;
217+ delete normalized . messageId ;
218+
219+ assert . deepEqual ( normalized , {
165220 context : { } ,
166221 integrations : {
167222 all : true
@@ -175,7 +230,12 @@ describe('normalize', function() {
175230 opts . integrations = { } ;
176231 opts . integrations . all = true ;
177232 opts . integrations . Segment = true ;
178- assert . deepEqual ( normalize ( msg , list ) , {
233+ var normalized = normalize ( msg , list ) ;
234+
235+ assert . lengthEquals ( normalized . messageId , 36 ) ;
236+ delete normalized . messageId ;
237+
238+ assert . deepEqual ( normalized , {
179239 context : { } ,
180240 integrations : {
181241 all : true ,
@@ -187,7 +247,12 @@ describe('normalize', function() {
187247 it ( 'should override if providers[key] is an object' , function ( ) {
188248 providers . Segment = { } ;
189249 opts . integrations = { Segment : true } ;
190- assert . deepEqual ( normalize ( msg , list ) , {
250+ var normalized = normalize ( msg , list ) ;
251+
252+ assert . lengthEquals ( normalized . messageId , 36 ) ;
253+ delete normalized . messageId ;
254+
255+ assert . deepEqual ( normalized , {
191256 context : { } ,
192257 integrations : {
193258 Segment : { }
@@ -206,7 +271,12 @@ describe('normalize', function() {
206271 it ( 'should move to .integrations' , function ( ) {
207272 providers . Segment = true ;
208273 opts . KISSmetrics = false ;
209- assert . deepEqual ( normalize ( msg , list ) , {
274+ var normalized = normalize ( msg , list ) ;
275+
276+ assert . lengthEquals ( normalized . messageId , 36 ) ;
277+ delete normalized . messageId ;
278+
279+ assert . deepEqual ( normalized , {
210280 context : { } ,
211281 integrations : {
212282 Segment : true ,
@@ -218,7 +288,12 @@ describe('normalize', function() {
218288 it ( 'should prefer options object' , function ( ) {
219289 providers . Segment = { option : true } ;
220290 opts . Segment = true ;
221- assert . deepEqual ( normalize ( msg , list ) , {
291+ var normalized = normalize ( msg , list ) ;
292+
293+ assert . lengthEquals ( normalized . messageId , 36 ) ;
294+ delete normalized . messageId ;
295+
296+ assert . deepEqual ( normalized , {
222297 context : { } ,
223298 integrations : {
224299 Segment : { option : true }
@@ -227,4 +302,13 @@ describe('normalize', function() {
227302 } ) ;
228303 } ) ;
229304 } ) ;
305+ it ( 'should properly randomize .messageId' , function ( ) {
306+ var set = { } ;
307+ var count = 1000 ;
308+ for ( var i = 0 ; i < count ; i ++ ) {
309+ var id = normalize ( msg ) . messageId ;
310+ set [ id ] = true ;
311+ }
312+ assert . lengthEquals ( Object . keys ( set ) , count ) ;
313+ } ) ;
230314} ) ;
0 commit comments