|
3 | 3 | require 'spec_helper' |
4 | 4 |
|
5 | 5 | describe SplitIoClient::Engine::Parser::Evaluator do |
6 | | - let(:config) { SplitIoClient::SplitConfig.new(logger: Logger.new(StringIO.new)) } |
7 | | - let(:segments_repository) { SplitIoClient::Cache::Repositories::SegmentsRepository.new(config) } |
8 | | - let(:rule_based_segments_repository) { SplitIoClient::Cache::Repositories::RuleBasedSegmentsRepository.new(config) } |
| 6 | + let(:segments_repository) { SplitIoClient::Cache::Repositories::SegmentsRepository.new(@default_config) } |
| 7 | + let(:rule_based_segments_repository) { SplitIoClient::Cache::Repositories::RuleBasedSegmentsRepository.new(@default_config) } |
9 | 8 | let(:flag_sets_repository) {SplitIoClient::Cache::Repositories::MemoryFlagSetsRepository.new([])} |
10 | 9 | let(:flag_set_filter) {SplitIoClient::Cache::Filter::FlagSetsFilter.new([])} |
11 | | - let(:splits_repository) { SplitIoClient::Cache::Repositories::SplitsRepository.new(config, flag_sets_repository, flag_set_filter) } |
12 | | - let(:evaluator) { described_class.new(segments_repository, splits_repository, rule_based_segments_repository, config) } |
| 10 | + let(:splits_repository) { SplitIoClient::Cache::Repositories::SplitsRepository.new(@default_config, flag_sets_repository, flag_set_filter) } |
| 11 | + let(:evaluator) { described_class.new(segments_repository, splits_repository, rule_based_segments_repository, true) } |
13 | 12 |
|
14 | 13 | let(:killed_split) { { killed: true, defaultTreatment: 'default' } } |
15 | 14 | let(:archived_split) { { status: 'ARCHIVED' } } |
|
18 | 17 | SplitIoClient.root, 'spec/test_data/splits/engine/dependency_matcher.json' |
19 | 18 | )), symbolize_names: true) |
20 | 19 | end |
21 | | - let(:split_data_prereq) do |
22 | | - JSON.parse(File.read(File.join( |
23 | | - SplitIoClient.root, 'spec/test_data/splits/engine/prerequisites_matcher.json' |
24 | | - )), symbolize_names: true) |
25 | | - end |
26 | 20 |
|
27 | 21 | it 'returns killed treatment' do |
28 | 22 | expect(evaluator.evaluate_feature_flag({ matching_key: 'foo' }, killed_split)) |
|
46 | 40 | evaluator.evaluate_feature_flag({ bucketing_key: nil, matching_key: 'fake_user_id_1' }, split_data[:ff][:d][1]) |
47 | 41 | end |
48 | 42 | end |
49 | | - |
50 | | - context 'prerequisites matcher' do |
51 | | - it 'test match' do |
52 | | - splits_repository.update([split_data_prereq[:ff][:d][0], split_data_prereq[:ff][:d][1]], [], 1234) |
53 | | - |
54 | | - result = evaluator.evaluate_feature_flag({ bucketing_key: nil, matching_key: 'fake_user' }, 'test_prereq') |
55 | | - expect(result[:treatment]).to eq('off_default') |
56 | | - |
57 | | - result = evaluator.evaluate_feature_flag({ bucketing_key: nil, matching_key: 'fake_user_id_1' }, 'test_prereq') |
58 | | - expect(result[:treatment]).to eq('on') |
59 | | - end |
60 | | - end |
61 | 43 | end |
0 commit comments