From eabc5727c2d717e07b47264dc9f11de2a904b89c Mon Sep 17 00:00:00 2001 From: thiwanka-aux <47382911+thiwanka-aux@users.noreply.github.com> Date: Mon, 20 Sep 2021 14:14:36 +0530 Subject: [PATCH] Added tc : quality should degrades twice as fast Added fn : common func for update Quality of the items --- TypeScript/test/gilded-rose.spec.ts | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/TypeScript/test/gilded-rose.spec.ts b/TypeScript/test/gilded-rose.spec.ts index 57287f39..dd60c57d 100644 --- a/TypeScript/test/gilded-rose.spec.ts +++ b/TypeScript/test/gilded-rose.spec.ts @@ -1,6 +1,8 @@ import { expect } from 'chai'; import { Item, GildedRose } from '../app/gilded-rose'; +const updateQuality = (dataset:Item[]) => new GildedRose(dataset).updateQuality(); + describe('Gilded Rose', function () { // quality of the normal items degrades by 1 @@ -10,8 +12,7 @@ describe('Gilded Rose', function () { new Item('item 2', 45, 21), ] - const gildedRose = new GildedRose(dataset); - const result = gildedRose.updateQuality(); + const result = updateQuality(dataset); expect(result[0].name).to.equal('item 1'); expect(result[0].sellIn).to.equal(30); @@ -21,4 +22,23 @@ describe('Gilded Rose', function () { expect(result[1].sellIn).to.equal(44); expect(result[1].quality).to.equal(20); }); + + // Once the sell by date has passed, Quality degrades twice as fast + it('quality should degrades twice as fast', function() { + const dataset = [ + new Item('item 1', 0, 10), + new Item('item 2', -5, 17), + ] + + const result = updateQuality(dataset); + + expect(result[0].name).to.equal('item 1'); + expect(result[0].sellIn).to.equal(-1); + expect(result[0].quality).to.equal(8); + + expect(result[1].name).to.equal('item 2'); + expect(result[1].sellIn).to.equal(-6); + expect(result[1].quality).to.equal(15); + }); + });