mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-18 16:01:42 +00:00
Create modules for other items
This commit is contained in:
parent
ec0fe1dfa2
commit
a94eb8c5f6
13
js-jasmine/src/aged_brie_update.js
Normal file
13
js-jasmine/src/aged_brie_update.js
Normal file
@ -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 };
|
||||||
@ -1,4 +1,6 @@
|
|||||||
var backstage_pass = require('./backstage_pass_update.js')
|
var backstage_pass = require('./backstage_pass_update.js')
|
||||||
|
var aged_brie = require('./aged_brie_update.js')
|
||||||
|
var sulfuras = require('./sulfuras_update.js')
|
||||||
|
|
||||||
class Shop {
|
class Shop {
|
||||||
constructor(items = []) {
|
constructor(items = []) {
|
||||||
@ -27,23 +29,15 @@ class Shop {
|
|||||||
_getQualityChange(item) {
|
_getQualityChange(item) {
|
||||||
if (backstage_pass.is(item)) {
|
if (backstage_pass.is(item)) {
|
||||||
return backstage_pass.getQualityChange(item);
|
return backstage_pass.getQualityChange(item);
|
||||||
} else if (this._isAgedBrie(item)) {
|
} else if (aged_brie.is(item)) {
|
||||||
return this._getQualityChangeAgedBrie(item);
|
return aged_brie.getQualityChange(item);
|
||||||
} else if (this._isSulfuras(item)) {
|
} else if (sulfuras.is(item)) {
|
||||||
return this._getQualityChangeSulfuras(item);
|
return sulfuras.getQualityChange(item);
|
||||||
} else {
|
} else {
|
||||||
return this._getQualityChangeStandard(item);
|
return this._getQualityChangeStandard(item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
_isAgedBrie(item) {
|
|
||||||
return item.name.toLowerCase().match(/aged brie/);
|
|
||||||
}
|
|
||||||
|
|
||||||
_isSulfuras(item) {
|
|
||||||
return item.name.toLowerCase().match(/sulfuras/);
|
|
||||||
}
|
|
||||||
|
|
||||||
_getQualityChangeStandard(item) {
|
_getQualityChangeStandard(item) {
|
||||||
if (item.sellIn <= 0) {
|
if (item.sellIn <= 0) {
|
||||||
return -2;
|
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) {
|
_updateItemSellIn(item) {
|
||||||
if (item.name != 'Sulfuras, Hand of Ragnaros') {
|
if (item.name != 'Sulfuras, Hand of Ragnaros') {
|
||||||
item.sellIn = item.sellIn - 1;
|
item.sellIn = item.sellIn - 1;
|
||||||
|
|||||||
9
js-jasmine/src/sulfuras_update.js
Normal file
9
js-jasmine/src/sulfuras_update.js
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
function getQualityChange(item) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
function is(item) {
|
||||||
|
return item.name.toLowerCase().match(/sulfuras/);
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = { is, getQualityChange };
|
||||||
Loading…
Reference in New Issue
Block a user