spec/export_spec.rb in split-export-1.1.0 vs spec/export_spec.rb in split-export-2.0.0
- old
+ new
@@ -1,19 +1,29 @@
require 'spec_helper'
describe Split::Export do
before :each do
- experiment = Split::ExperimentCatalog.find_or_create('link_color', 'blue', 'red', 'green')
+ experiment = Split::ExperimentCatalog.find_or_create({'link_color': ["control", "goal"]}, 'blue', 'red', 'green')
blue = Split::Alternative.new('blue', 'link_color')
- blue.participant_count = 5
- blue.set_completed_count(3)
+ blue.participant_count = 50
+ blue.set_completed_count(20, "control")
+ blue.set_completed_count(10, "goal")
blue.save
red = Split::Alternative.new('red', 'link_color')
- red.participant_count = 6
- red.set_completed_count(4)
+ red.participant_count = 60
+ red.set_completed_count(10, "control")
+ red.set_completed_count(30, "goal")
red.save
end
it "should generate a csv of split data" do
- Split::Export.to_csv.should eql("Experiment,Alternative,Participants,Completed,Conversion Rate,Z score,Control,Winner\nlink_color,blue,5,3,0.6,0.0,true,false\nlink_color,red,6,4,0.667,0.0,false,false\nlink_color,green,0,0,0.0,0.0,false,false\n")
+ Split::Export.to_csv.should eql("Experiment,Alternative,Participants,Completed,Conversion Rate,Z score,Control,Winner\nlink_color,blue,50,30,0.6,0.0,true,false\nlink_color,red,60,40,0.667,0.724,false,false\nlink_color,green,0,0,0.0,0.0,false,false\n")
+ end
+
+ it "should generate a detailed csv of split data for a single table" do
+ Split::Export.experiment_to_csv("link_color").should eql("Alternative,Goal,Participants,Completed,Conversion Rate,Z Score,Control,Winner\nblue,,50,0,0.0,0.0,true,false\nblue,control,50,20,0.4,0.0,true,false\nblue,goal,50,10,0.2,0.0,true,false\nred,,60,0,0.0,0.0,false,false\nred,control,60,10,0.167,-2.736,false,false\nred,goal,60,30,0.5,3.257,false,false\ngreen,,0,0,0.0,0.0,false,false\ngreen,control,0,0,0.0,0.0,false,false\ngreen,goal,0,0,0.0,0.0,false,false\n")
+ end
+
+ it "should quietly return nil if a bad experiment name is passed in" do
+ Split::Export.experiment_to_csv("incorrect_name").should be_nil
end
end