@@ -558,6 +558,42 @@ def should_finish_experiment(experiment_name, should_finish = true)
558558 end
559559 end
560560
561+
562+ describe "ab_record_extra_info" do
563+ context "for an experiment that the user participates in" do
564+ before ( :each ) do
565+ @experiment_name = "link_color"
566+ @alternatives = [ "blue" , "red" ]
567+ @experiment = Split ::ExperimentCatalog . find_or_create ( @experiment_name , *@alternatives )
568+ @alternative_name = ab_test ( @experiment_name , *@alternatives )
569+ end
570+
571+ it "records extra data for a given experiment" do
572+ alternative = Split ::Alternative . new ( @alternative_name , "link_color" )
573+
574+ ab_record_extra_info ( @experiment_name , "some_data" , 10 )
575+
576+ expect ( alternative . extra_info ) . to eql ( { "some_data" => 10 } )
577+ end
578+
579+ it "records extra data for a given experiment" do
580+ alternative = Split ::Alternative . new ( @alternative_name , "link_color" )
581+
582+ ab_record_extra_info ( @experiment_name , "some_data" )
583+
584+ expect ( alternative . extra_info ) . to eql ( { "some_data" => 1 } )
585+ end
586+
587+ it "records extra data for a given experiment" do
588+ alternative = Split ::Alternative . new ( @alternative_name , "link_color" )
589+
590+ ab_record_extra_info ( @experiment_name , "some_data" , nil )
591+
592+ expect ( alternative . extra_info ) . to eql ( { } )
593+ end
594+ end
595+ end
596+
561597 describe "conversions" do
562598 it "should return a conversion rate for an alternative" do
563599 alternative_name = ab_test ( "link_color" , "blue" , "red" )
0 commit comments