From a89ed1d3c17dacd8d5ec975d2347628cdcd0de0b Mon Sep 17 00:00:00 2001 From: pikesley Date: Wed, 24 Feb 2016 12:58:22 +0000 Subject: [PATCH] Morning has a different max BG --- .../glucose_measurement_presenter.rb | 20 +++++++++++++++++-- .../glucose_measurement_presenter_spec.rb | 6 ++++++ 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/app/presenters/glucose_measurement_presenter.rb b/app/presenters/glucose_measurement_presenter.rb index e61b26d..f30c162 100644 --- a/app/presenters/glucose_measurement_presenter.rb +++ b/app/presenters/glucose_measurement_presenter.rb @@ -41,8 +41,24 @@ def units end def highlight_class + return 'bg-high' if is_high return 'bg-high' if model.value > 8 - return 'bg-low' if model.value < 4.5 - nil + return 'bg-low' if is + end + + def is_high + return true if model.value > 7 && is_morning + return true if model.value > 8 + false + end + + def is_low + return true if model.value < 4.5 + false + end + + def is_morning + time = model.datetime.strftime '%H:%M' + time > '06:30' && time < '11:00' end end diff --git a/spec/presenters/glucose_measurement_presenter_spec.rb b/spec/presenters/glucose_measurement_presenter_spec.rb index 58ca985..1f91970 100644 --- a/spec/presenters/glucose_measurement_presenter_spec.rb +++ b/spec/presenters/glucose_measurement_presenter_spec.rb @@ -64,5 +64,11 @@ it 'has the correct css class for a high BG' do expect(decorated_high_bg.measurement_cell).to match // end + + let(:high_am_bg) { create :glucose_measurement, value: 7.5, datetime: '2016-01-26 07:15:29' } + let(:decorated_high_am_bg) { GlucoseMeasurementPresenter.new high_am_bg } + it 'knows the limits are different in the morning' do + expect(decorated_high_am_bg.measurement_cell).to match // + end end end