|
277 | 277 | end |
278 | 278 |
|
279 | 279 | describe 'metadata' do |
280 | | - before do |
281 | | - Split.configuration.experiments = { |
282 | | - :my_experiment => { |
283 | | - :alternatives => ["one", "two"], |
284 | | - :resettable => false, |
285 | | - :metadata => { 'one' => 'Meta1', 'two' => 'Meta2' } |
| 280 | + context 'is defined' do |
| 281 | + before do |
| 282 | + Split.configuration.experiments = { |
| 283 | + :my_experiment => { |
| 284 | + :alternatives => ["one", "two"], |
| 285 | + :resettable => false, |
| 286 | + :metadata => { 'one' => 'Meta1', 'two' => 'Meta2' } |
| 287 | + } |
286 | 288 | } |
287 | | - } |
288 | | - end |
| 289 | + end |
| 290 | + |
| 291 | + it 'should be passed to helper block' do |
| 292 | + @params = { 'ab_test' => { 'my_experiment' => 'two' } } |
| 293 | + expect(ab_test('my_experiment')).to eq 'two' |
| 294 | + expect(ab_test('my_experiment') do |alternative, meta| |
| 295 | + meta |
| 296 | + end).to eq('Meta2') |
| 297 | + end |
| 298 | + |
| 299 | + it 'should pass control metadata helper block if library disabled' do |
| 300 | + Split.configure do |config| |
| 301 | + config.enabled = false |
| 302 | + end |
289 | 303 |
|
290 | | - it 'should be passed to helper block' do |
291 | | - @params = { 'ab_test' => { 'my_experiment' => 'one' } } |
292 | | - expect(ab_test('my_experiment')).to eq 'one' |
293 | | - expect(ab_test('my_experiment') do |alternative, meta| |
294 | | - meta |
295 | | - end).to eq('Meta1') |
| 304 | + expect(ab_test('my_experiment')).to eq 'one' |
| 305 | + expect(ab_test('my_experiment') do |_, meta| |
| 306 | + meta |
| 307 | + end).to eq('Meta1') |
| 308 | + end |
296 | 309 | end |
297 | 310 |
|
298 | | - it 'should pass empty hash to helper block if library disabled' do |
299 | | - Split.configure do |config| |
300 | | - config.enabled = false |
| 311 | + context 'is not defined' do |
| 312 | + before do |
| 313 | + Split.configuration.experiments = { |
| 314 | + :my_experiment => { |
| 315 | + :alternatives => ["one", "two"], |
| 316 | + :resettable => false, |
| 317 | + :metadata => nil |
| 318 | + } |
| 319 | + } |
301 | 320 | end |
302 | 321 |
|
303 | | - expect(ab_test('my_experiment')).to eq 'one' |
304 | | - expect(ab_test('my_experiment') do |_, meta| |
305 | | - meta |
306 | | - end).to eq({}) |
| 322 | + it 'should be passed to helper block' do |
| 323 | + expect(ab_test('my_experiment') do |alternative, meta| |
| 324 | + meta |
| 325 | + end).to eq({}) |
| 326 | + end |
| 327 | + |
| 328 | + it 'should pass control metadata helper block if library disabled' do |
| 329 | + Split.configure do |config| |
| 330 | + config.enabled = false |
| 331 | + end |
| 332 | + |
| 333 | + expect(ab_test('my_experiment') do |_, meta| |
| 334 | + meta |
| 335 | + end).to eq({}) |
| 336 | + end |
307 | 337 | end |
308 | 338 | end |
309 | 339 |
|
|
0 commit comments