From da7c14442cc97e1ecd4c34ab2ef9bf2662ea241d Mon Sep 17 00:00:00 2001 From: Dan Rowden Date: Mon, 25 Jul 2016 22:23:27 +0100 Subject: Updated milestone count helper plus tests --- spec/helpers/milestones_helper_spec.rb | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 spec/helpers/milestones_helper_spec.rb (limited to 'spec/helpers') diff --git a/spec/helpers/milestones_helper_spec.rb b/spec/helpers/milestones_helper_spec.rb new file mode 100644 index 00000000000..8e23415bfe4 --- /dev/null +++ b/spec/helpers/milestones_helper_spec.rb @@ -0,0 +1,33 @@ +require 'spec_helper' + +describe MilestonesHelper do + + describe '#milestone_counts' do + let(:project) { FactoryGirl.create(:project) } + let(:milestone_1) { FactoryGirl.create(:active_milestone, project: project) } + let(:milestone_2) { FactoryGirl.create(:active_milestone, project: project) } + let(:milestone_3) { FactoryGirl.create(:closed_milestone, project: project) } + + let(:counts) { helper.milestone_counts(project.milestones) } + + it 'returns a hash containing three items' do + expect(counts.length).to eq 3 + end + it 'returns a hash containing "opened" key' do + expect(counts.has_key?(:opened)).to eq true + end + it 'returns a hash containing "closed" key' do + expect(counts.has_key?(:closed)).to eq true + end + it 'returns a hash containing "all" key' do + expect(counts.has_key?(:all)).to eq true + end + # This throws a "NoMethodError: undefined method `+' for nil:NilClass" error for line 27; can't figure out why it can't find the keys in the hash + # it 'shows "all" object is the sum of "opened" and "closed" objects' do + # total = counts[:opened] + counts[:closed] + # expect(counts[:all]).to eq total + # end + + end + +end -- cgit v1.2.1 From 19e2bf1c21a853e45db0c18133e5f1b1234ad09f Mon Sep 17 00:00:00 2001 From: Alfredo Sumaran Date: Mon, 22 Aug 2016 17:58:28 -0500 Subject: Fix failing specs and improve html --- spec/helpers/milestones_helper_spec.rb | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) (limited to 'spec/helpers') diff --git a/spec/helpers/milestones_helper_spec.rb b/spec/helpers/milestones_helper_spec.rb index 8e23415bfe4..d65610723b0 100644 --- a/spec/helpers/milestones_helper_spec.rb +++ b/spec/helpers/milestones_helper_spec.rb @@ -1,33 +1,35 @@ require 'spec_helper' describe MilestonesHelper do - describe '#milestone_counts' do let(:project) { FactoryGirl.create(:project) } - let(:milestone_1) { FactoryGirl.create(:active_milestone, project: project) } - let(:milestone_2) { FactoryGirl.create(:active_milestone, project: project) } - let(:milestone_3) { FactoryGirl.create(:closed_milestone, project: project) } + let!(:milestone_1) { FactoryGirl.create(:active_milestone, project: project) } + let!(:milestone_2) { FactoryGirl.create(:active_milestone, project: project) } + let!(:milestone_3) { FactoryGirl.create(:closed_milestone, project: project) } let(:counts) { helper.milestone_counts(project.milestones) } it 'returns a hash containing three items' do expect(counts.length).to eq 3 end + it 'returns a hash containing "opened" key' do expect(counts.has_key?(:opened)).to eq true end + it 'returns a hash containing "closed" key' do expect(counts.has_key?(:closed)).to eq true end + it 'returns a hash containing "all" key' do expect(counts.has_key?(:all)).to eq true end - # This throws a "NoMethodError: undefined method `+' for nil:NilClass" error for line 27; can't figure out why it can't find the keys in the hash - # it 'shows "all" object is the sum of "opened" and "closed" objects' do - # total = counts[:opened] + counts[:closed] - # expect(counts[:all]).to eq total - # end + it 'shows "all" object is the sum of "opened" and "closed" objects' do + puts counts.as_json + total = counts[:opened] + counts[:closed] + expect(counts[:all]).to eq total + end end - end + \ No newline at end of file -- cgit v1.2.1 From 8499de19c9bca4c43378b8a9cf2b6705f9cab647 Mon Sep 17 00:00:00 2001 From: Alfredo Sumaran Date: Wed, 24 Aug 2016 12:29:27 -0500 Subject: Ensure milestone counts work with no data Commit originally written by @smcgivern --- spec/helpers/milestones_helper_spec.rb | 36 ++++++++++++++++------------------ 1 file changed, 17 insertions(+), 19 deletions(-) (limited to 'spec/helpers') diff --git a/spec/helpers/milestones_helper_spec.rb b/spec/helpers/milestones_helper_spec.rb index d65610723b0..28c2268f8d0 100644 --- a/spec/helpers/milestones_helper_spec.rb +++ b/spec/helpers/milestones_helper_spec.rb @@ -3,33 +3,31 @@ require 'spec_helper' describe MilestonesHelper do describe '#milestone_counts' do let(:project) { FactoryGirl.create(:project) } - let!(:milestone_1) { FactoryGirl.create(:active_milestone, project: project) } - let!(:milestone_2) { FactoryGirl.create(:active_milestone, project: project) } - let!(:milestone_3) { FactoryGirl.create(:closed_milestone, project: project) } - let(:counts) { helper.milestone_counts(project.milestones) } - it 'returns a hash containing three items' do - expect(counts.length).to eq 3 - end + context 'when there are milestones' do + let!(:milestone_1) { FactoryGirl.create(:active_milestone, project: project) } + let!(:milestone_2) { FactoryGirl.create(:active_milestone, project: project) } + let!(:milestone_3) { FactoryGirl.create(:closed_milestone, project: project) } - it 'returns a hash containing "opened" key' do - expect(counts.has_key?(:opened)).to eq true + it 'returns the correct counts' do + expect(counts).to eq(opened: 2, closed: 1, all: 3) + end end - it 'returns a hash containing "closed" key' do - expect(counts.has_key?(:closed)).to eq true - end + context 'when there are only milestones of one type' do + let!(:milestone_1) { FactoryGirl.create(:active_milestone, project: project) } + let!(:milestone_2) { FactoryGirl.create(:active_milestone, project: project) } - it 'returns a hash containing "all" key' do - expect(counts.has_key?(:all)).to eq true + it 'returns the correct counts' do + expect(counts).to eq(opened: 2, closed: 0, all: 2) + end end - it 'shows "all" object is the sum of "opened" and "closed" objects' do - puts counts.as_json - total = counts[:opened] + counts[:closed] - expect(counts[:all]).to eq total + context 'when there are no milestones' do + it 'returns the correct counts' do + expect(counts).to eq(opened: 0, closed: 0, all: 0) + end end end end - \ No newline at end of file -- cgit v1.2.1