spec/alternative_spec.rb in split-2.2.0 vs spec/alternative_spec.rb in split-3.0.0

- old
+ new

@@ -272,6 +272,37 @@ expect(control.z_score).to eq('N/A') expect(control.z_score(goal1)).to eq('N/A') expect(control.z_score(goal2)).to eq('N/A') end end + + describe "extra_info" do + it "reads saved value of recorded_info in redis" do + saved_recorded_info = {"key_1" => 1, "key_2" => "2"} + Split.redis.hset "#{alternative.experiment_name}:#{alternative.name}", 'recorded_info', saved_recorded_info.to_json + extra_info = alternative.extra_info + + expect(extra_info).to eql(saved_recorded_info) + end + end + + describe "record_extra_info" do + it "saves key" do + alternative.record_extra_info("signup", 1) + expect(alternative.extra_info["signup"]).to eql(1) + end + + it "adds value to saved key's value second argument is number" do + alternative.record_extra_info("signup", 1) + alternative.record_extra_info("signup", 2) + expect(alternative.extra_info["signup"]).to eql(3) + end + + it "sets saved's key value to the second argument if it's a string" do + alternative.record_extra_info("signup", "Value 1") + expect(alternative.extra_info["signup"]).to eql("Value 1") + + alternative.record_extra_info("signup", "Value 2") + expect(alternative.extra_info["signup"]).to eql("Value 2") + end + end end