@@ -724,6 +724,7 @@ it ('should load saved events from localStorage new keys and send events', funct
724724 // check config loaded correctly
725725 assert . deepEqual ( amplitude2 . options . trackingOptions , {
726726 city : false ,
727+ country : true ,
727728 device_model : true ,
728729 dma : true ,
729730 ip_address : false ,
@@ -1150,6 +1151,7 @@ describe('setVersionName', function() {
11501151 clock = sinon . useFakeTimers ( ) ;
11511152 var trackingOptions = {
11521153 city : false ,
1154+ country : true ,
11531155 ip_address : false ,
11541156 language : false ,
11551157 platform : false ,
@@ -1165,12 +1167,27 @@ describe('setVersionName', function() {
11651167
11661168 it ( 'should not track language or platform' , function ( ) {
11671169 assert . equal ( amplitude . options . trackingOptions . language , false ) ;
1170+ assert . equal ( amplitude . options . trackingOptions . platform , false ) ;
11681171 amplitude . logEvent ( 'Event Type 1' ) ;
11691172 assert . lengthOf ( server . requests , 1 ) ;
11701173 var events = JSON . parse ( querystring . parse ( server . requests [ 0 ] . requestBody ) . e ) ;
11711174 assert . equal ( events [ 0 ] . language , null ) ;
11721175 assert . equal ( events [ 0 ] . platform , null ) ;
11731176 } ) ;
1177+
1178+ it ( 'should send trackingOptions in api properties' , function ( ) {
1179+ amplitude . logEvent ( 'Event Type 2' ) ;
1180+ assert . lengthOf ( server . requests , 1 ) ;
1181+ var events = JSON . parse ( querystring . parse ( server . requests [ 0 ] . requestBody ) . e ) ;
1182+
1183+ // verify country is not sent since it matches the default value of true
1184+ assert . deepEqual ( events [ 0 ] . api_properties , {
1185+ trackingOptions : {
1186+ city : false ,
1187+ ip_address : false ,
1188+ }
1189+ } ) ;
1190+ } ) ;
11741191 } ) ;
11751192
11761193 describe ( 'logEvent' , function ( ) {
@@ -1247,6 +1264,14 @@ describe('setVersionName', function() {
12471264 assert . isNotNull ( events [ 0 ] . language ) ;
12481265 } ) ;
12491266
1267+ it ( 'should not send trackingOptions in api properties' , function ( ) {
1268+ amplitude . logEvent ( 'Event Should Not Send Tracking Properties' ) ;
1269+ assert . lengthOf ( server . requests , 1 ) ;
1270+ var events = JSON . parse ( querystring . parse ( server . requests [ 0 ] . requestBody ) . e ) ;
1271+ assert . equal ( events . length , 1 ) ;
1272+ assert . deepEqual ( events [ 0 ] . api_properties , { } ) ;
1273+ } ) ;
1274+
12501275 it ( 'should send platform' , function ( ) {
12511276 amplitude . logEvent ( 'Event Should Send Platform' ) ;
12521277 assert . lengthOf ( server . requests , 1 ) ;
0 commit comments