|
1 | 1 | require_relative './spec_helper'
|
2 | 2 |
|
3 |
| -describe Fastlane::WPMRT::AppSizeMetricsPayload do |
| 3 | +describe Fastlane::WPMRT::AppSizeMetricsHelper do |
4 | 4 | describe '#to_h' do
|
5 | 5 | it 'generates the right payload from raw data' do
|
6 |
| - payload = described_class.new({ |
| 6 | + metrics_helper = described_class.new({ |
7 | 7 | 'Group Metadata 1': 'Group Value 1',
|
8 | 8 | 'Group Metadata 2': 'Group Value 2'
|
9 | 9 | })
|
10 |
| - payload.add_metric(name: 'Metric 1', value: 12_345, meta: { m1a: 'Metric 1 Metadata A' }) |
11 |
| - payload.add_metric(name: 'Metric 2', value: 67_890) |
12 |
| - payload.add_metric(name: 'Metric 3', value: 13_579, meta: { m3a: 'Metric 3 Metadata A', m3b: 'Metric 3 Metadata B' }) |
| 10 | + metrics_helper.add_metric(name: 'Metric 1', value: 12_345, meta: { m1a: 'Metric 1 Metadata A' }) |
| 11 | + metrics_helper.add_metric(name: 'Metric 2', value: 67_890) |
| 12 | + metrics_helper.add_metric(name: 'Metric 3', value: 13_579, meta: { m3a: 'Metric 3 Metadata A', m3b: 'Metric 3 Metadata B' }) |
13 | 13 |
|
14 | 14 | expected_hash = {
|
15 | 15 | meta: [
|
|
22 | 22 | { name: 'Metric 3', value: 13_579, meta: [{ name: 'm3a', value: 'Metric 3 Metadata A' }, { name: 'm3b', value: 'Metric 3 Metadata B' }] },
|
23 | 23 | ]
|
24 | 24 | }
|
25 |
| - expect(payload.to_h).to eq(expected_hash) |
| 25 | + expect(metrics_helper.to_h).to eq(expected_hash) |
26 | 26 | end
|
27 | 27 |
|
28 | 28 | it 'removes `nil` values in metadata' do
|
29 |
| - payload = described_class.new({ |
| 29 | + metrics_helper = described_class.new({ |
30 | 30 | 'Group Metadata 1': 'Group Value 1',
|
31 | 31 | 'Group Metadata 2': nil,
|
32 | 32 | 'Group Metadata 3': 'Group Value 3'
|
33 | 33 | })
|
34 |
| - payload.add_metric(name: 'Metric 1', value: 12_345, meta: { m1a: 'Metric 1 Metadata A', m1b: nil, m1c: 'Metric 1 Metadata C' }) |
35 |
| - payload.add_metric(name: 'Metric 2', value: 67_890, meta: { m2a: nil }) |
36 |
| - payload.add_metric(name: 'Metric 3', value: 13_579, meta: { m3a: 'Metric 3 Metadata A', m3b: 'Metric 3 Metadata B' }) |
| 34 | + metrics_helper.add_metric(name: 'Metric 1', value: 12_345, meta: { m1a: 'Metric 1 Metadata A', m1b: nil, m1c: 'Metric 1 Metadata C' }) |
| 35 | + metrics_helper.add_metric(name: 'Metric 2', value: 67_890, meta: { m2a: nil }) |
| 36 | + metrics_helper.add_metric(name: 'Metric 3', value: 13_579, meta: { m3a: 'Metric 3 Metadata A', m3b: 'Metric 3 Metadata B' }) |
37 | 37 |
|
38 | 38 | expected_hash = {
|
39 | 39 | meta: [
|
|
46 | 46 | { name: 'Metric 3', value: 13_579, meta: [{ name: 'm3a', value: 'Metric 3 Metadata A' }, { name: 'm3b', value: 'Metric 3 Metadata B' }] },
|
47 | 47 | ]
|
48 | 48 | }
|
49 |
| - expect(payload.to_h).to eq(expected_hash) |
| 49 | + expect(metrics_helper.to_h).to eq(expected_hash) |
50 | 50 | end
|
51 | 51 | end
|
52 | 52 |
|
53 | 53 | describe '#send_metrics' do
|
54 |
| - let(:payload) do |
55 |
| - payload = described_class.new({ |
| 54 | + let(:metrics_helper) do |
| 55 | + metrics_helper = described_class.new({ |
56 | 56 | 'Group Metadata 1': 'Group Value 1',
|
57 | 57 | 'Group Metadata 2': 'Group Value 2'
|
58 | 58 | })
|
59 |
| - payload.add_metric(name: 'Metric 1', value: 12_345, meta: { m1a: 'Metric 1 Metadata A' }) |
60 |
| - payload.add_metric(name: 'Metric 2', value: 67_890) |
61 |
| - payload.add_metric(name: 'Metric 3', value: 13_579, meta: { m3a: 'Metric 3 Metadata A', m3b: 'Metric 3 Metadata B' }) |
62 |
| - payload |
| 59 | + metrics_helper.add_metric(name: 'Metric 1', value: 12_345, meta: { m1a: 'Metric 1 Metadata A' }) |
| 60 | + metrics_helper.add_metric(name: 'Metric 2', value: 67_890) |
| 61 | + metrics_helper.add_metric(name: 'Metric 3', value: 13_579, meta: { m3a: 'Metric 3 Metadata A', m3b: 'Metric 3 Metadata B' }) |
| 62 | + metrics_helper |
63 | 63 | end
|
64 | 64 | let(:expected_data) do
|
65 | 65 | {
|
|
81 | 81 | output_file = File.join(tmp_dir, 'payload.json')
|
82 | 82 | base_url = File.join('file://localhost/', output_file)
|
83 | 83 |
|
84 |
| - code = payload.send_metrics(base_url: base_url, api_token: nil, use_gzip: false) |
| 84 | + code = metrics_helper.send_metrics(base_url: base_url, api_token: nil, use_gzip: false) |
85 | 85 |
|
86 | 86 | expect(code).to eq(201)
|
87 | 87 | expect(File).to exist(output_file)
|
|
95 | 95 | output_file = File.join(tmp_dir, 'payload.json.gz')
|
96 | 96 | base_url = File.join('file://localhost/', output_file)
|
97 | 97 |
|
98 |
| - code = payload.send_metrics(base_url: base_url, api_token: nil, use_gzip: true) |
| 98 | + code = metrics_helper.send_metrics(base_url: base_url, api_token: nil, use_gzip: true) |
99 | 99 |
|
100 | 100 | expect(code).to eq(201)
|
101 | 101 | expect(File).to exist(output_file)
|
|
123 | 123 | last_received_body = req.body
|
124 | 124 | end.to_return(status: 201)
|
125 | 125 |
|
126 |
| - code = payload.send_metrics(base_url: base_url, api_token: token, use_gzip: false) |
| 126 | + code = metrics_helper.send_metrics(base_url: base_url, api_token: token, use_gzip: false) |
127 | 127 |
|
128 | 128 | expect(code).to eq(201)
|
129 | 129 | expect(stub).to have_been_made.once
|
|
142 | 142 | last_received_body = req.body
|
143 | 143 | end.to_return(status: 201)
|
144 | 144 |
|
145 |
| - code = payload.send_metrics(base_url: base_url, api_token: token, use_gzip: true) |
| 145 | + code = metrics_helper.send_metrics(base_url: base_url, api_token: token, use_gzip: true) |
146 | 146 |
|
147 | 147 | expect(code).to eq(201)
|
148 | 148 | expect(stub).to have_been_made.once
|
|
0 commit comments