diff --git a/js-jasmine/spec/shop_spec.js b/js-jasmine/spec/shop_spec.js index 02e9a095..8c60aa66 100644 --- a/js-jasmine/spec/shop_spec.js +++ b/js-jasmine/spec/shop_spec.js @@ -99,5 +99,23 @@ describe('Shop', () => { expect(items[0].quality).toEqual(0); }); }); + + describe('Conjured', () => { + beforeEach(() => { + item.name = 'Conjured pickle'; + }); + it('will decrease the quality by 2 before sell by', () => { + item.sellIn = 5; + item.quality = 5; + const items = gildedRose.updateQuality(); + expect(items[0].quality).toEqual(5 - 2); + }); + it('will decrease the quality by 4 after sell by', () => { + item.sellIn = 0; + item.quality = 5; + const items = gildedRose.updateQuality(); + expect(items[0].quality).toEqual(5 - 4); + }); + }); }); }); diff --git a/js-jasmine/src/item_types/conjured_update.js b/js-jasmine/src/item_types/conjured_update.js new file mode 100644 index 00000000..fbaf98e1 --- /dev/null +++ b/js-jasmine/src/item_types/conjured_update.js @@ -0,0 +1,8 @@ +exports.regex_matcher = /conjured/; +exports.qualityChange = function (sellIn, quality) { + if (sellIn <= 0) { + return -4; + } else { + return -2; + } +};