diff --git a/js-jasmine/src/aged_brie_update.js b/js-jasmine/src/aged_brie_update.js new file mode 100644 index 00000000..ea3c765b --- /dev/null +++ b/js-jasmine/src/aged_brie_update.js @@ -0,0 +1,13 @@ +function getQualityChange(item) { + if (item.sellIn <= 0) { + return 2; + } else { + return 1; + } +} + +function is(item) { + return item.name.toLowerCase().match(/aged brie/); +}; + +module.exports = { is, getQualityChange }; \ No newline at end of file diff --git a/js-jasmine/src/shop.js b/js-jasmine/src/shop.js index 17df0d4c..6b0d0730 100644 --- a/js-jasmine/src/shop.js +++ b/js-jasmine/src/shop.js @@ -1,4 +1,6 @@ var backstage_pass = require('./backstage_pass_update.js') +var aged_brie = require('./aged_brie_update.js') +var sulfuras = require('./sulfuras_update.js') class Shop { constructor(items = []) { @@ -27,23 +29,15 @@ class Shop { _getQualityChange(item) { if (backstage_pass.is(item)) { return backstage_pass.getQualityChange(item); - } else if (this._isAgedBrie(item)) { - return this._getQualityChangeAgedBrie(item); - } else if (this._isSulfuras(item)) { - return this._getQualityChangeSulfuras(item); + } else if (aged_brie.is(item)) { + return aged_brie.getQualityChange(item); + } else if (sulfuras.is(item)) { + return sulfuras.getQualityChange(item); } else { return this._getQualityChangeStandard(item); } } - _isAgedBrie(item) { - return item.name.toLowerCase().match(/aged brie/); - } - - _isSulfuras(item) { - return item.name.toLowerCase().match(/sulfuras/); - } - _getQualityChangeStandard(item) { if (item.sellIn <= 0) { return -2; @@ -52,18 +46,6 @@ class Shop { } } - _getQualityChangeAgedBrie(item) { - if (item.sellIn <= 0) { - return 2; - } else { - return 1; - } - } - - _getQualityChangeSulfuras(item) { - return 0; - } - _updateItemSellIn(item) { if (item.name != 'Sulfuras, Hand of Ragnaros') { item.sellIn = item.sellIn - 1; diff --git a/js-jasmine/src/sulfuras_update.js b/js-jasmine/src/sulfuras_update.js new file mode 100644 index 00000000..55e89b8a --- /dev/null +++ b/js-jasmine/src/sulfuras_update.js @@ -0,0 +1,9 @@ +function getQualityChange(item) { + return 0; +} + +function is(item) { + return item.name.toLowerCase().match(/sulfuras/); +}; + +module.exports = { is, getQualityChange }; \ No newline at end of file