GildedRose-Refactoring-Kata/ruby/gilded_rose_spec.rb
2024-01-03 16:07:20 +05:30

44 lines
1.3 KiB
Ruby

require_relative 'gilded_rose'
require_relative 'item'
describe GildedRose do
describe "#update_quality" do
it "does not change the name" do
items = [Item.new("foo", 0, 0)]
GildedRose.new(items).update_quality()
expect(items[0].name).to eq "foo"
end
it "updates quality of Aged Brie as it gets older" do
items = [Item.new("Aged Brie", 5, 10)]
GildedRose.new(items).update_quality()
expect(items[0].quality).to eq 11
end
it "updates quality of Sulfuras, Hand of Ragnaros" do
items = [Item.new("Sulfuras, Hand of Ragnaros", 5, 80)]
GildedRose.new(items).update_quality()
expect(items[0].quality).to eq 80
end
it "updates quality of Conjured item twice as fast" do
items = [Item.new("Conjured", 5, 10)]
GildedRose.new(items).update_quality()
expect(items[0].quality).to eq 6
end
it "updates quality of Backstage passes based on sell-in value" do
items = [Item.new("Backstage passes to a TAFKAL80ETC concert", 12, 10)]
GildedRose.new(items).update_quality()
expect(items[0].quality).to eq 11
end
it "sets quality of Backstage passes to 0 after concert" do
items = [Item.new("Backstage passes to a TAFKAL80ETC concert", 0, 10)]
GildedRose.new(items).update_quality()
expect(items[0].quality).to eq 0
end
end
end