From 67d0ff72347923657a288fa43c1e4ae5d2153b33 Mon Sep 17 00:00:00 2001 From: Felipe Gaete Date: Sun, 28 Jul 2024 21:59:17 -0400 Subject: [PATCH 1/4] test: agrega tests no implementados para rspec ruby --- ruby/gilded_rose_spec.rb | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/ruby/gilded_rose_spec.rb b/ruby/gilded_rose_spec.rb index 015a759fbc..ac50057b57 100644 --- a/ruby/gilded_rose_spec.rb +++ b/ruby/gilded_rose_spec.rb @@ -8,4 +8,40 @@ GildedRose.new(items).update_quality() expect(items[0].name).to eq "fixme" end + + it 'decrementa la calidad del item' + + it 'decrementa los dias para vender el item' + + it 'decrementa la calidad del item al doble de velocidad cuando ya no quedan dias para venderlo' + + it 'no decrementa la calidad del item a negativo' + + context 'para items Aged Brie' do + it 'incrementa su calidad' + + it 'incrementa su calidad en 2 cuando ya no quedan dias de venta' + + it 'no incrementa su calidad por sobre 50' + end + + context 'para items Sulfuras' do + it 'no cambia su calidad' + + it 'no cambia los dias para venderlo' + end + + context 'para items Backstage Pass' do + it 'incrementa su calidad si quedan más de 10 días para venderlo' + + it 'incrementa su calidad en 2 si quedan 10 dias o menos para venderlo' + + it 'incrementa su calidad en 3 si quedan 5 dias o menos para venderlo' + + it 'decrementa su calidad a 0 si ya no quedan dias para venderlo' + end + + context 'para items conjurados' do + it 'decrementa su calidad en 2' + end end From f8c4d82df5a07e72a4b2de73dcc6cecfa8430ef5 Mon Sep 17 00:00:00 2001 From: Felipe Gaete Date: Mon, 29 Jul 2024 11:19:19 -0400 Subject: [PATCH 2/4] test: implementar tests de items normales --- ruby/gilded_rose_spec.rb | 48 ++++++++++++++++++++++++++++++++++------ 1 file changed, 41 insertions(+), 7 deletions(-) diff --git a/ruby/gilded_rose_spec.rb b/ruby/gilded_rose_spec.rb index ac50057b57..70c83053b5 100644 --- a/ruby/gilded_rose_spec.rb +++ b/ruby/gilded_rose_spec.rb @@ -9,13 +9,47 @@ expect(items[0].name).to eq "fixme" end - it 'decrementa la calidad del item' - - it 'decrementa los dias para vender el item' - - it 'decrementa la calidad del item al doble de velocidad cuando ya no quedan dias para venderlo' - - it 'no decrementa la calidad del item a negativo' + context 'para items normales' do + setup do + ## Arrange + items = [Item.new("foo", 10, 2)] + gilded = GildedRose.new(items) + end + + + it 'decrementa la calidad del item' do + #Act + gilded.update_quality() + + #Assert + expect(items[0].quality).to eq 1 + end + + it 'decrementa los dias para vender el item' do + #Act + gilded.update_quality() + + #Assert + expect(items[0].sell_in).to eq 9 + end + + it 'decrementa la calidad del item al doble de velocidad cuando ya no quedan dias para venderlo' do + items[0].sell_in = 0 + items[0].quality = 20 + + gilded.update_quality() + + expect(items[0].quality).to eq 18 + end + + it 'no decrementa la calidad del item a negativo' do + items[0].quality = 0 + + gilded.update_quality() + + expect(items[0].quality).to eq 0 + end + end context 'para items Aged Brie' do it 'incrementa su calidad' From 7918e7c9283dbf5657ab981e7ccc7d8c20422bf3 Mon Sep 17 00:00:00 2001 From: Felipe Gaete Date: Mon, 5 Aug 2024 09:38:47 -0400 Subject: [PATCH 3/4] test: corrige tests de items normales Usamos variables de instancia y no locales en before hook --- ruby/gilded_rose_spec.rb | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/ruby/gilded_rose_spec.rb b/ruby/gilded_rose_spec.rb index 70c83053b5..76e49c3709 100644 --- a/ruby/gilded_rose_spec.rb +++ b/ruby/gilded_rose_spec.rb @@ -10,44 +10,44 @@ end context 'para items normales' do - setup do + before do ## Arrange - items = [Item.new("foo", 10, 2)] - gilded = GildedRose.new(items) + @items = [Item.new("foo", 10, 2)] + @gilded = GildedRose.new(@items) end it 'decrementa la calidad del item' do #Act - gilded.update_quality() + @gilded.update_quality() #Assert - expect(items[0].quality).to eq 1 + expect(@items[0].quality).to eq 1 end it 'decrementa los dias para vender el item' do #Act - gilded.update_quality() + @gilded.update_quality() #Assert - expect(items[0].sell_in).to eq 9 + expect(@items[0].sell_in).to eq 9 end it 'decrementa la calidad del item al doble de velocidad cuando ya no quedan dias para venderlo' do - items[0].sell_in = 0 - items[0].quality = 20 + @items[0].sell_in = 0 + @items[0].quality = 20 - gilded.update_quality() + @gilded.update_quality() - expect(items[0].quality).to eq 18 + expect(@items[0].quality).to eq 18 end it 'no decrementa la calidad del item a negativo' do - items[0].quality = 0 + @items[0].quality = 0 - gilded.update_quality() + @gilded.update_quality() - expect(items[0].quality).to eq 0 + expect(@items[0].quality).to eq 0 end end From df36b05cfca424fde670db919963c14bb13d2b03 Mon Sep 17 00:00:00 2001 From: drcarrasco Date: Mon, 5 Aug 2024 10:48:09 -0400 Subject: [PATCH 4/4] =?UTF-8?q?test:=20sulfuras=20no=20cambia=20los=20d?= =?UTF-8?q?=C3=ADas=20para=20vender?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruby/gilded_rose_spec.rb | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/ruby/gilded_rose_spec.rb b/ruby/gilded_rose_spec.rb index 76e49c3709..b1ae7fe0f8 100644 --- a/ruby/gilded_rose_spec.rb +++ b/ruby/gilded_rose_spec.rb @@ -60,9 +60,21 @@ end context 'para items Sulfuras' do + before do + ## Arrange + @items = [Item.new("Sulfuras, Hand of Ragnaros", 10, 2)] + @gilded = GildedRose.new(@items) + end + it 'no cambia su calidad' - it 'no cambia los dias para venderlo' + it 'no cambia los dias para venderlo' do + @items[0].sell_in = 10 + + @gilded.update_quality() + + expect(@items[0].sell_in).to eq 10 + end end context 'para items Backstage Pass' do