From ac49fc2888f06e6bca95d43bd0a3c8a2e52c7c9a Mon Sep 17 00:00:00 2001 From: James Sayer Date: Fri, 27 May 2022 09:10:08 -0400 Subject: [PATCH] Fix test update variable naming use String.includes for choosing a category from item name --- TypeScript/app/gilded-rose.ts | 55 ++++++++++++---------- TypeScript/test/golden-master-text-test.ts | 3 +- TypeScript/test/jest/gilded-rose.spec.ts | 2 +- 3 files changed, 33 insertions(+), 27 deletions(-) diff --git a/TypeScript/app/gilded-rose.ts b/TypeScript/app/gilded-rose.ts index db58d678..c317e2e6 100644 --- a/TypeScript/app/gilded-rose.ts +++ b/TypeScript/app/gilded-rose.ts @@ -19,46 +19,51 @@ export class GildedRose { updateQuality() { for (let i = 0; i < this.items.length; i++) { - if (this.items[i].name != 'Aged Brie' && this.items[i].name != 'Backstage passes to a TAFKAL80ETC concert') { - if (this.items[i].quality > 0) { - if (this.items[i].name != 'Sulfuras, Hand of Ragnaros') { - this.items[i].quality = this.items[i].quality - 1 + let currentItem = this.items[i]; + let itemName = currentItem.name; + let itemQuality = currentItem.quality; + let itemSellin = currentItem.sellIn; + if (!itemName.includes('Sulfuras')) { + itemSellin = itemSellin - 1; + } + + if (!itemName.includes('Aged Brie') && !itemName.includes('Backstage passes')) { + if (itemQuality > 0) { + if (!itemName.includes('Sulfuras')) { + itemQuality = itemQuality - 1 } } } else { - if (this.items[i].quality < 50) { - this.items[i].quality = this.items[i].quality + 1 - if (this.items[i].name == 'Backstage passes to a TAFKAL80ETC concert') { - if (this.items[i].sellIn < 11) { - if (this.items[i].quality < 50) { - this.items[i].quality = this.items[i].quality + 1 + if (itemQuality < 50) { + itemQuality = itemQuality + 1 + if (itemName.includes('Backstage passes')) { + if (itemSellin < 11) { + if (itemQuality < 50) { + itemQuality = itemQuality + 1 } } - if (this.items[i].sellIn < 6) { - if (this.items[i].quality < 50) { - this.items[i].quality = this.items[i].quality + 1 + if (itemSellin < 6) { + if (itemQuality < 50) { + itemQuality = itemQuality + 1 } } } } } - if (this.items[i].name != 'Sulfuras, Hand of Ragnaros') { - this.items[i].sellIn = this.items[i].sellIn - 1; - } - if (this.items[i].sellIn < 0) { - if (this.items[i].name != 'Aged Brie') { - if (this.items[i].name != 'Backstage passes to a TAFKAL80ETC concert') { - if (this.items[i].quality > 0) { - if (this.items[i].name != 'Sulfuras, Hand of Ragnaros') { - this.items[i].quality = this.items[i].quality - 1 + if (itemSellin < 0) { + if (!itemName.includes('Aged Brie')) { + if (!itemName.includes('Backstage passes')) { + if (itemQuality > 0) { + if (!itemName.includes('Sulfuras, Hand of Ragnaros')) { + itemQuality = itemQuality - 1 } } } else { - this.items[i].quality = this.items[i].quality - this.items[i].quality + itemQuality = itemQuality - itemQuality } } else { - if (this.items[i].quality < 50) { - this.items[i].quality = this.items[i].quality + 1 + if (itemQuality < 50) { + itemQuality = itemQuality + 1 } } } diff --git a/TypeScript/test/golden-master-text-test.ts b/TypeScript/test/golden-master-text-test.ts index 2259b975..a6ccb7dd 100644 --- a/TypeScript/test/golden-master-text-test.ts +++ b/TypeScript/test/golden-master-text-test.ts @@ -10,7 +10,8 @@ const items = [ new Item("Backstage passes to a TAFKAL80ETC concert", 10, 49), new Item("Backstage passes to a TAFKAL80ETC concert", 5, 49), // this conjured item does not work properly yet - new Item("Conjured Mana Cake", 3, 6)]; + new Item("Conjured Mana Cake", 3, 6) +]; const gildedRose = new GildedRose(items); diff --git a/TypeScript/test/jest/gilded-rose.spec.ts b/TypeScript/test/jest/gilded-rose.spec.ts index 65330750..498c9ec1 100644 --- a/TypeScript/test/jest/gilded-rose.spec.ts +++ b/TypeScript/test/jest/gilded-rose.spec.ts @@ -4,6 +4,6 @@ describe('Gilded Rose', () => { it('should foo', () => { const gildedRose = new GildedRose([new Item('foo', 0, 0)]); const items = gildedRose.updateQuality(); - expect(items[0].name).toBe('fixme'); + expect(items[0].name).toBe('foo'); }); });