mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-15 22:41:30 +00:00
update gilded rose
This commit is contained in:
parent
1e780a0caa
commit
aa1b7c9305
@ -10,53 +10,73 @@ class Shop {
|
||||
constructor(items=[]){
|
||||
this.items = items;
|
||||
}
|
||||
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;
|
||||
|
||||
get minQuality() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
get maxQuality() {
|
||||
return 50;
|
||||
}
|
||||
|
||||
checkQuality({quality}) {
|
||||
const {minQuality, maxQuality} = this;
|
||||
|
||||
return quality - 1 < minQuality || quality + 1 > maxQuality;
|
||||
}
|
||||
|
||||
updateItemQuality(item) {
|
||||
if (this.checkQuality(item)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (item.sellIn < 0) {
|
||||
if (item.name != 'Aged Brie') {
|
||||
if (item.name != 'Backstage passes to a TAFKAL80ETC concert') {
|
||||
if (item.name != 'Sulfuras, Hand of Ragnaros') {
|
||||
item.quality = item.quality - 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 (this.items[i].sellIn < 6) {
|
||||
if (this.items[i].quality < 50) {
|
||||
this.items[i].quality = this.items[i].quality + 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;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
this.items[i].quality = this.items[i].quality - this.items[i].quality;
|
||||
}
|
||||
} else {
|
||||
if (this.items[i].quality < 50) {
|
||||
this.items[i].quality = this.items[i].quality + 1;
|
||||
}
|
||||
}
|
||||
item.quality = item.quality + 1;
|
||||
}
|
||||
}
|
||||
|
||||
if (item.name != 'Aged Brie' && item.name != 'Backstage passes to a TAFKAL80ETC concert') {
|
||||
if (item.name != 'Sulfuras, Hand of Ragnaros') {
|
||||
item.quality = item.quality - 1;
|
||||
}
|
||||
} else {
|
||||
if (item.name == 'Backstage passes to a TAFKAL80ETC concert') {
|
||||
if (item.sellIn < 10 && item.sellIn > 5) {
|
||||
item.quality = item.quality + 2;
|
||||
}
|
||||
else if (item.sellIn >= 0 && item.sellIn <= 5) {
|
||||
item.quality = item.quality + 3;
|
||||
}
|
||||
else if (item.sellIn > 0) {
|
||||
item.quality = item.quality + 1;
|
||||
} else {
|
||||
item.quality = 0;
|
||||
}
|
||||
} else {
|
||||
item.quality = item.quality + 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
updateItemSellIn(item) {
|
||||
if (item.name != 'Sulfuras, Hand of Ragnaros') {
|
||||
item.sellIn = item.sellIn - 1;
|
||||
}
|
||||
}
|
||||
|
||||
updateQuality() {
|
||||
this.items.forEach(item => {
|
||||
this.updateItemSellIn(item);
|
||||
this.updateItemQuality(item);
|
||||
});
|
||||
|
||||
return this.items;
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user