added method to check if an item is selfarus

This commit is contained in:
ollie beney 2020-11-04 16:51:20 +00:00
parent 27860ced34
commit bbe5395911
2 changed files with 17 additions and 1 deletions

View File

@ -56,6 +56,10 @@ class GildedRose
def self.update_normal_quality(item) def self.update_normal_quality(item)
item.quality -= 1 unless item.quality.zero? item.quality -= 1 unless item.quality.zero?
end end
def self.selfarus?(item)
!item.name.downcase.match( /selfarus/).nil?
end
end end
class Item class Item

View File

@ -94,12 +94,24 @@ let(:sulfarus) { Item.new('Sulfuras, Hand of Ragnaros', 50, 80) }
end end
it 'does not update quality if quality == 0' do it 'does not update quality if quality == 0' do
item_double = double :item, name: "potato", sellIn: 1, quality: 0 item_double = double :item, name: "potato", sell_in: 1, quality: 0
expect(item_double).not_to receive(:quality=).with(-1) expect(item_double).not_to receive(:quality=).with(-1)
GildedRose.update_normal_quality(item_double) GildedRose.update_normal_quality(item_double)
end end
end end
describe '#selfarus?' do
it 'returns true on a selfarus item' do
selfarus_double = double :selfarus, name: 'selfarus', sell_in: 50, quality: 80
expect(GildedRose.selfarus?(selfarus_double)).to eq true
end
it 'returns false on a non selfarus item' do
item_double = double :item, name: "potato", sell_in: 1, quality: 0
expect(GildedRose.selfarus?(item_double)).to eq false
end
end