From 39ff5fee08ad31546386438865a7b264a8f20dab Mon Sep 17 00:00:00 2001 From: ollie beney Date: Wed, 4 Nov 2020 14:57:13 +0000 Subject: [PATCH] test existing behaviour for aged brie --- ruby/spec/gilded_rose_spec.rb | 57 +++++++++++++++++++++-------------- 1 file changed, 35 insertions(+), 22 deletions(-) diff --git a/ruby/spec/gilded_rose_spec.rb b/ruby/spec/gilded_rose_spec.rb index 6b5356fa..f25c41b9 100644 --- a/ruby/spec/gilded_rose_spec.rb +++ b/ruby/spec/gilded_rose_spec.rb @@ -8,32 +8,45 @@ let(:potato) { Item.new('potato', 15, 2)} GildedRose.update_quality(items) expect(items[0].name).to eq "foo" end + describe 'non-special item input' do + it 'should decrese the quality of normal item' do + items = [potato] + GildedRose.update_quality(items) + expect(items.first.quality).to eq (1) + end - it 'should decrese the quality of normal item' do - items = [potato] - GildedRose.update_quality(items) - expect(items.first.quality).to eq (1) + it 'should decrese the sellIn of normal item' do + items = [potato] + GildedRose.update_quality(items) + expect(items.first.sell_in).to eq (14) + end + + it 'should decrease quality of normal items by 2 when sell_in date passes' do + items = [Item.new("old potato", 0, 20)] + GildedRose.update_quality(items) + expect(items.first.quality).to eq (18) + end + + it 'should not decrease quality below 0' do + items = [Item.new("old potato", 0, 0)] + GildedRose.update_quality(items) + expect(items.first.quality).to eq (0) + end end - it 'should decrese the sellIn of normal item' do - items = [potato] - GildedRose.update_quality(items) - expect(items.first.sell_in).to eq (14) + describe 'Aged Brie input' do + it 'increases in quality as it ages' do + items = [Item.new("Aged Brie", 25, 45)] + GildedRose.update_quality(items) + expect(items.first.quality).to eq 46 + end + + it 'cannot increase in quality beyond 50' do + items = [Item.new("Aged Brie", 25, 50)] + GildedRose.update_quality(items) + expect(items.first.quality).to eq 50 + end end - - it 'should decrease quality of normal items by 2 when sell_in date passes' do - items = [Item.new("old potato", 0, 20)] - GildedRose.update_quality(items) - expect(items.first.quality).to eq (18) - end - - it 'should not decrease quality below 0' do - items = [Item.new("old potato", 0, 0)] - GildedRose.update_quality(items) - expect(items.first.quality).to eq (0) - end - - end