Commit 5659d0a3ea53297fe3ee0c030f204aa833dd7fde
1 parent
8be8048a
Exists in
colab
and in
4 other branches
Fixes KalibroRange creation and edition through kalibro_client conversions
Signed off by: Heitor Reis <marcheing@gmail.com>
Showing
3 changed files
with
36 additions
and
2 deletions
Show diff stats
app/helpers/kalibro_ranges_helper.rb
... | ... | @@ -2,4 +2,12 @@ module KalibroRangesHelper |
2 | 2 | def readings_options(readings) |
3 | 3 | readings.map { |reading| [reading.label, reading.id] } |
4 | 4 | end |
5 | + | |
6 | + # FIXME: this is a workaround while kalibro_client does not handle Infinity text instead of INF | |
7 | + # see: https://github.com/mezuro/kalibro_client/issues/73 | |
8 | + def format_boundary(value) | |
9 | + return "INF" if value == Float::INFINITY | |
10 | + return "-INF" if value == -Float::INFINITY | |
11 | + value | |
12 | + end | |
5 | 13 | end | ... | ... |
app/views/metric_configurations/_ranges.html.erb
... | ... | @@ -5,8 +5,8 @@ |
5 | 5 | <span style="color: #<%= kalibro_range.color %>"><%= kalibro_range.label %></span> |
6 | 6 | </div> |
7 | 7 | </td> |
8 | - <td><%= kalibro_range.beginning %></td> | |
9 | - <td><%= kalibro_range.end %></td> | |
8 | + <td><%= format_boundary(kalibro_range.beginning) %></td> | |
9 | + <td><%= format_boundary(kalibro_range.end) %></td> | |
10 | 10 | <td> |
11 | 11 | <% if kalibro_configuration_owner? @metric_configuration.kalibro_configuration_id %> |
12 | 12 | <%= link_to t('edit'), edit_kalibro_configuration_metric_configuration_kalibro_range_path( | ... | ... |
spec/helpers/kalibro_ranges_helper_spec.rb
... | ... | @@ -7,5 +7,31 @@ describe KalibroRangesHelper, :type => :helper do |
7 | 7 | expect(helper.readings_options([reading])).to eq [[reading.label, reading.id]] |
8 | 8 | end |
9 | 9 | end |
10 | + | |
11 | + describe 'format_boundary' do | |
12 | + context 'with a finite value' do | |
13 | + let(:value) { 10 } | |
14 | + | |
15 | + it 'is expected to return the value itself' do | |
16 | + expect(helper.format_boundary(value)).to eq(value) | |
17 | + end | |
18 | + end | |
19 | + | |
20 | + context 'with positive infinity value' do | |
21 | + let(:value) { Float::INFINITY } | |
22 | + | |
23 | + it 'is expected to return the string "INF"' do | |
24 | + expect(helper.format_boundary(value)).to eq("INF") | |
25 | + end | |
26 | + end | |
27 | + | |
28 | + context 'with negative infinity value' do | |
29 | + let(:value) { -Float::INFINITY } | |
30 | + | |
31 | + it 'is expected to return the string "-INF"' do | |
32 | + expect(helper.format_boundary(value)).to eq("-INF") | |
33 | + end | |
34 | + end | |
35 | + end | |
10 | 36 | end |
11 | 37 | ... | ... |