Improve rspec quality bounds specs

This commit is contained in:
Maarten Parmentier 2023-06-27 22:20:38 +02:00
parent ad848a8e14
commit a826c4d321

View File

@ -51,12 +51,15 @@ describe GildedRose do
end end
end end
context 'in all cases' do
let(:quality) { 0 }
it 'does never lower the quality below 0' do it 'does never lower the quality below 0' do
items = [Item.new(item_name, sell_in, 0)] subject.update_quality
GildedRose.new(items).update_quality
expect(items[0].quality).to eq 0 expect(items[0].quality).to eq 0
end end
end end
end
context "when item name is 'Sulfuras, Hand of Ragnaros'" do context "when item name is 'Sulfuras, Hand of Ragnaros'" do
let(:item_name) { 'Sulfuras, Hand of Ragnaros' } let(:item_name) { 'Sulfuras, Hand of Ragnaros' }
@ -146,12 +149,15 @@ describe GildedRose do
end end
end end
context 'in all cases' do
let(:quality) { 50 }
it 'does never raise the quality above 50' do it 'does never raise the quality above 50' do
items = [Item.new(item_name, sell_in, 50)] subject.update_quality
GildedRose.new(items).update_quality
expect(items[0].quality).to eq 50 expect(items[0].quality).to eq 50
end end
end end
end
context "when item name is 'Backstage passes to a TAFKAL80ETC concert'" do context "when item name is 'Backstage passes to a TAFKAL80ETC concert'" do
let(:item_name) { 'Backstage passes to a TAFKAL80ETC concert' } let(:item_name) { 'Backstage passes to a TAFKAL80ETC concert' }
@ -213,12 +219,15 @@ describe GildedRose do
end end
end end
context 'in all cases' do
let(:quality) { 50 }
it 'does never raise the quality above 50' do it 'does never raise the quality above 50' do
items = [Item.new(item_name, sell_in, 50)] subject.update_quality
GildedRose.new(items).update_quality
expect(items[0].quality).to eq 50 expect(items[0].quality).to eq 50
end end
end end
end
context "when item name is 'Conjured Mana Cake'" do context "when item name is 'Conjured Mana Cake'" do
let(:item_name) { 'Conjured Mana Cake' } let(:item_name) { 'Conjured Mana Cake' }
@ -264,11 +273,14 @@ describe GildedRose do
end end
end end
context 'in all cases' do
let(:quality) { 0 }
it 'does never lower the quality below 0' do it 'does never lower the quality below 0' do
items = [Item.new(item_name, sell_in, 0)] subject.update_quality
GildedRose.new(items).update_quality
expect(items[0].quality).to eq 0 expect(items[0].quality).to eq 0
end end
end end
end end
end end
end