@@ -145,7 +145,7 @@ define([
145145 var elementContent = 'link' ;
146146
147147 var inputJson = {
148- schema : 'iglu:com.snowplowanalytics.snowplow/link_click/jsonschema/1-0-0 ' ,
148+ schema : 'iglu:com.snowplowanalytics.snowplow/link_click/jsonschema/1-0-1 ' ,
149149 data : {
150150 targetUrl : targetUrl ,
151151 elementId : elementId ,
@@ -382,6 +382,94 @@ define([
382382 compare ( tracker . trackRemoveFromCart ( sku , name , category , price , quantity , currency ) , expected ) ;
383383 } ,
384384
385+ "Track a form change event" : function ( ) {
386+ var formId = "parent" ;
387+ var elementId = "child" ;
388+ var nodeName = "INPUT" ;
389+ var type = "text" ;
390+ var elementClasses = [ "important" ] ;
391+ var value = "male" ;
392+
393+ var inputJson = {
394+ schema : 'iglu:com.snowplowanalytics.snowplow/change_form/jsonschema/1-0-0' ,
395+ data : {
396+ formId : formId ,
397+ elementId : elementId ,
398+ nodeName : nodeName ,
399+ type : type ,
400+ elementClasses : elementClasses ,
401+ value : value
402+ }
403+ } ;
404+
405+ var expected = {
406+ e : 'ue' ,
407+ ue_pr : JSON . stringify ( {
408+ schema : unstructEventSchema ,
409+ data : inputJson
410+ } )
411+ } ;
412+
413+ compare ( tracker . trackFormChange ( formId , elementId , nodeName , type , elementClasses , value ) , expected ) ;
414+ } ,
415+
416+ "Track a form submission event" : function ( ) {
417+ var formId = "parent" ;
418+ var formClasses = [ "formclass" ] ;
419+ var elements = [ {
420+ name : "gender" ,
421+ value : "male" ,
422+ nodeName : "INPUT" ,
423+ type : "text"
424+ } ] ;
425+
426+ var inputJson = {
427+ schema : 'iglu:com.snowplowanalytics.snowplow/submit_form/jsonschema/1-0-0' ,
428+ data : {
429+ formId : formId ,
430+ formClasses : formClasses ,
431+ elements : elements
432+ }
433+ } ;
434+
435+ var expected = {
436+ e : 'ue' ,
437+ ue_pr : JSON . stringify ( {
438+ schema : unstructEventSchema ,
439+ data : inputJson
440+ } )
441+ } ;
442+
443+ compare ( tracker . trackFormSubmission ( formId , formClasses , elements ) , expected ) ;
444+ } ,
445+
446+ "Track a site seach event" : function ( ) {
447+ var terms = [ "javascript" , "development" ] ;
448+ var filters = [ "books" ] ;
449+ var totalResults = 35 ;
450+ var pageResults = 10 ;
451+
452+ var inputJson = {
453+ schema : 'iglu:com.snowplowanalytics.snowplow/site_search/jsonschema/1-0-0' ,
454+ data : {
455+ terms : terms ,
456+ filters : filters ,
457+ totalResults : totalResults ,
458+ pageResults : pageResults
459+ }
460+ } ;
461+
462+ var expected = {
463+ e : 'ue' ,
464+ ue_pr : JSON . stringify ( {
465+ schema : unstructEventSchema ,
466+ data : inputJson
467+ } )
468+ } ;
469+
470+ compare ( tracker . trackSiteSearch ( terms , filters , totalResults , pageResults ) , expected ) ;
471+ } ,
472+
385473 "Track a page view with custom context" : function ( ) {
386474 var url = 'http://www.example.com' ;
387475 var page = 'title page' ;
0 commit comments