From 6924b4d336c7498e1100153514bf29e217ae9239 Mon Sep 17 00:00:00 2001 From: Michael Date: Thu, 16 Mar 2017 11:34:46 +0000 Subject: Issue milestone remaining time tooltip --- spec/helpers/milestones_helper_spec.rb | 50 ++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) (limited to 'spec/helpers/milestones_helper_spec.rb') diff --git a/spec/helpers/milestones_helper_spec.rb b/spec/helpers/milestones_helper_spec.rb index 68b20a1e4fc..77a4ba305bb 100644 --- a/spec/helpers/milestones_helper_spec.rb +++ b/spec/helpers/milestones_helper_spec.rb @@ -47,4 +47,54 @@ describe MilestonesHelper do end end end + + describe '#milestone_remaining_days' do + context 'when less than 31 days remaining' do + let(:milestone_remaining) { milestone_remaining_days(build_stubbed(:milestone, due_date: 12.days.from_now)) } + + it 'returns days remaining' do + expect(milestone_remaining).to eq("11 days remaining") + end + end + + context 'when less than 1 year and more than 30 days remaining' do + let(:milestone_remaining) { milestone_remaining_days(build_stubbed(:milestone, due_date: 2.months.from_now)) } + + it 'returns months remaining' do + expect(milestone_remaining).to eq("2 months remaining") + end + end + + context 'when more than 1 year remaining' do + let(:milestone_remaining) { milestone_remaining_days(build_stubbed(:milestone, due_date: 1.year.from_now + 2.days)) } + + it 'returns years remaining' do + expect(milestone_remaining).to eq("1 year remaining") + end + end + + context 'when milestone is expired' do + let(:milestone_remaining) { milestone_remaining_days(build_stubbed(:milestone, due_date: 2.days.ago)) } + + it 'returns "Past due"' do + expect(milestone_remaining).to eq("Past due") + end + end + + context 'when milestone has start_date in the future' do + let(:milestone_remaining) { milestone_remaining_days(build_stubbed(:milestone, start_date: 2.days.from_now)) } + + it 'returns "Upcoming"' do + expect(milestone_remaining).to eq("Upcoming") + end + end + + context 'when milestone has start_date in the past' do + let(:milestone_remaining) { milestone_remaining_days(build_stubbed(:milestone, start_date: 2.days.ago)) } + + it 'returns days elapsed' do + expect(milestone_remaining).to eq("2 days elapsed") + end + end + end end -- cgit v1.2.1