Sha256: b31367d968795bff17a7abad302019461d067bd58c52a02985df634ad763d43f
Contents?: true
Size: 1.89 KB
Versions: 2
Compression:
Stored size: 1.89 KB
Contents
# frozen_string_literal: true require 'spec_helper' require 'split/combined_experiments_helper' describe Split::CombinedExperimentsHelper do include Split::CombinedExperimentsHelper describe 'ab_combined_test' do let!(:config_enabled) { true } let!(:combined_experiments) { [:exp_1_click, :exp_1_scroll ]} let!(:allow_multiple_experiments) { true } before do Split.configuration.experiments = { :combined_exp_1 => { :alternatives => [ {"control"=> 0.5}, {"test-alt"=> 0.5} ], :metric => :my_metric, :combined_experiments => combined_experiments } } Split.configuration.enabled = config_enabled Split.configuration.allow_multiple_experiments = allow_multiple_experiments end context 'without config enabled' do let!(:config_enabled) { false } it "raises an error" do expect(lambda { ab_combined_test :combined_exp_1 }).to raise_error(Split::InvalidExperimentsFormatError ) end end context 'multiple experiments disabled' do let!(:allow_multiple_experiments) { false } it "raises an error if multiple experiments is disabled" do expect(lambda { ab_combined_test :combined_exp_1 }).to raise_error(Split::InvalidExperimentsFormatError) end end context 'without combined experiments' do let!(:combined_experiments) { nil } it "raises an error" do expect(lambda { ab_combined_test :combined_exp_1 }).to raise_error(Split::InvalidExperimentsFormatError ) end end it "uses same alternatives for all sub experiments " do allow(self).to receive(:get_alternative) { "test-alt" } expect(self).to receive(:ab_test).with(:exp_1_click, {"control"=>0.5}, {"test-alt"=>0.5}) { "test-alt" } expect(self).to receive(:ab_test).with(:exp_1_scroll, [{"test-alt" => 1}] ) ab_combined_test('combined_exp_1') end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
split-3.1.1 | spec/combined_experiments_helper_spec.rb |
split-3.1.0 | spec/combined_experiments_helper_spec.rb |