|
15 | 15 | let(:deduplicator) { instance_double(Datadog::OpenFeature::Exposures::Deduplicator) } |
16 | 16 | let(:context) do |
17 | 17 | instance_double( |
18 | | - 'OpenFeature::SDK::EvaluationContext', fields: {'targeting_key' => 'john-doe'} |
| 18 | + 'OpenFeature::SDK::EvaluationContext', targeting_key: 'john-doe', fields: {'targeting_key' => 'john-doe'} |
19 | 19 | ) |
20 | 20 | end |
21 | 21 | let(:result) do |
22 | | - { |
23 | | - 'flag' => 'feature_flag', |
24 | | - 'targetingKey' => 'john-doe', |
25 | | - 'result' => { |
26 | | - 'value' => 4, |
27 | | - 'variant' => '4', |
28 | | - 'flagMetadata' => { |
29 | | - 'allocationKey' => '4-for-john-doe', |
30 | | - 'variationType' => 'number', |
31 | | - 'doLog' => true |
32 | | - } |
33 | | - } |
34 | | - } |
| 22 | + Datadog::OpenFeature::Binding::ResolutionDetails.new( |
| 23 | + value: 4, |
| 24 | + allocation_key: '4-for-john-doe', |
| 25 | + variant: '4', |
| 26 | + flag_metadata: { |
| 27 | + 'allocationKey' => '4-for-john-doe', |
| 28 | + 'variationType' => 'number', |
| 29 | + 'doLog' => true |
| 30 | + }, |
| 31 | + do_log: true |
| 32 | + ) |
35 | 33 | end |
36 | 34 |
|
37 | 35 | describe '#report' do |
|
40 | 38 |
|
41 | 39 | it 'enqueues event' do |
42 | 40 | expect(worker).to receive(:enqueue).and_return(true) |
43 | | - expect(reporter.report(result, context: context)).to be(true) |
| 41 | + expect(reporter.report(result, flag_key: 'feature_flag', context: context)).to be(true) |
44 | 42 | end |
45 | 43 | end |
46 | 44 |
|
|
49 | 47 |
|
50 | 48 | it 'does not enqueue event again' do |
51 | 49 | expect(worker).not_to receive(:enqueue) |
52 | | - expect(reporter.report(result, context: context)).to be(false) |
| 50 | + expect(reporter.report(result, flag_key: 'feature_flag', context: context)).to be(false) |
53 | 51 | end |
54 | 52 | end |
55 | 53 |
|
|
61 | 59 |
|
62 | 60 | it 'returns false and logs debug message' do |
63 | 61 | expect_lazy_log(logger, :debug, /OpenFeature: Reporter failed to enqueue exposure: StandardError: boom/) |
64 | | - expect(reporter.report(result, context: context)).to be(false) |
| 62 | + expect(reporter.report(result, flag_key: 'feature_flag', context: context)).to be(false) |
65 | 63 | end |
66 | 64 | end |
67 | 65 |
|
|
86 | 84 | expect(deduplicator).not_to receive(:duplicate?) |
87 | 85 | expect(worker).not_to receive(:enqueue) |
88 | 86 |
|
89 | | - expect(reporter.report(result, context: context)).to be(false) |
| 87 | + expect(reporter.report(result, flag_key: 'feature_flag', context: context)).to be(false) |
90 | 88 | end |
91 | 89 | end |
92 | 90 | end |
|
0 commit comments