From 7b702676d55722e47668b6166edd5d669cb9e65c Mon Sep 17 00:00:00 2001 From: Dan Holmes Date: Thu, 3 Dec 2020 13:47:26 +0000 Subject: [PATCH] Refactor tests --- js-jasmine/spec/shop_spec.js | 42 +++++++++++++++++------------------- 1 file changed, 20 insertions(+), 22 deletions(-) diff --git a/js-jasmine/spec/shop_spec.js b/js-jasmine/spec/shop_spec.js index 2708366a..42929354 100644 --- a/js-jasmine/spec/shop_spec.js +++ b/js-jasmine/spec/shop_spec.js @@ -7,34 +7,32 @@ describe('Shop', () => { quality: 5 }; const gildedRose = new Shop([item]); - let items = [] describe('.updateQuality', () => { it("keeps name the same", () => { items = gildedRose.updateQuality(); expect(items[0].name).toEqual("foo"); }); - describe('when sellIn and quality are above 0', () => { - beforeEach(() => { - item.sellIn = 5; - item.quality = 5; - items = gildedRose.updateQuality(); - }); - it('descreases sellIn by 1', () => { - expect(items[0].sellIn).toEqual(5 - 1); - }); - it('decreases quality by 1', () => { - expect(items[0].sellIn).toEqual(5 - 1); - }); + it('decreases sellIn by 1', () => { + item.sellIn = 5; + const items = gildedRose.updateQuality(); + expect(items[0].sellIn).toEqual(5 - 1); }); - describe('when the sell by date has passed', () => { - beforeEach(() => { - item.sellIn = 0; - item.quality = 5; - items = gildedRose.updateQuality(); - }); - it('quality degrades twice as fast', () => { - expect(items[0].quality).toEqual(5 - 2) - }) + it('decreases qualtiy by 1', () => { + item.sellIn = 5; + item.quality = 5; + const items = gildedRose.updateQuality(); + expect(items[0].quality).toEqual(5 - 1); + }); + it('when sell by passed, decreases quality by 2', () => { + item.sellIn = 0; + item.quality = 5; + const items = gildedRose.updateQuality(); + expect(items[0].quality).toEqual(5 - 2); + }); + it('will not reduce quality below 0', () => { + item.quality = 0; + const items = gildedRose.updateQuality(); + expect(items[0].quality).toEqual(0) }) }); });