mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-16 23:11:28 +00:00
update test for each cases in requirements
This commit is contained in:
parent
1efcbb833e
commit
6f9729cd2e
@ -35,24 +35,17 @@ export class GildedRose {
|
||||
itemQuality = itemQuality + 1;
|
||||
break;
|
||||
case itemName.includes('Backstage passes'):
|
||||
itemQuality = itemQuality + 1;
|
||||
if (itemSellin < 11) {
|
||||
itemQuality = itemQuality + 2;
|
||||
} else if (itemSellin < 6) {
|
||||
itemQuality = itemQuality + 3;
|
||||
} else if (itemSellin < 0) {
|
||||
itemQuality = 0;
|
||||
} else {
|
||||
itemQuality = itemQuality + 1;
|
||||
}
|
||||
break;
|
||||
case itemName.includes('Conjured'):
|
||||
if (itemQuality > 0) {
|
||||
itemQuality = itemQuality - 1;
|
||||
}
|
||||
if (itemSellin < 0) {
|
||||
itemQuality = itemQuality - itemQuality;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
if (itemQuality > 0) {
|
||||
itemQuality = itemQuality - 2;
|
||||
}
|
||||
@ -60,6 +53,14 @@ export class GildedRose {
|
||||
itemQuality = itemQuality - itemQuality * 2;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
if (itemQuality > 0) {
|
||||
itemQuality = itemQuality - 1;
|
||||
}
|
||||
if (itemSellin < 0) {
|
||||
itemQuality = itemQuality - itemQuality;
|
||||
}
|
||||
break;
|
||||
}
|
||||
this.items[i].quality = itemQuality > 50 ? 50 : itemQuality;
|
||||
this.items[i].sellIn = itemSellin;
|
||||
|
||||
@ -1,9 +1,39 @@
|
||||
import { Item, GildedRose } from '@/gilded-rose';
|
||||
|
||||
let gildedRose;
|
||||
describe('Gilded Rose', () => {
|
||||
beforeEach(() => {
|
||||
gildedRose = new GildedRose([
|
||||
new Item('foo', 0, 0),
|
||||
new Item('Conjured item', 10, 8),
|
||||
new Item('Sulfuras item', 0, 80),
|
||||
new Item('Aged Brie item ', 10, 33),
|
||||
new Item('Aged Brie item', 0, 50),
|
||||
new Item('Backstage passes item', 8, 30),
|
||||
]);
|
||||
})
|
||||
it('should foo', () => {
|
||||
const gildedRose = new GildedRose([new Item('foo', 0, 0)]);
|
||||
const items = gildedRose.updateQuality();
|
||||
expect(items[0].name).toBe('foo');
|
||||
});
|
||||
it('The quality of Conjured item should be degraded by twice', () => {
|
||||
const items = gildedRose.updateQuality();
|
||||
expect(items[1].quality).toBe(6);
|
||||
});
|
||||
it('The quality of Sulfuras item should remain unchanged', () => {
|
||||
const items = gildedRose.updateQuality();
|
||||
expect(items[2].quality).toBe(80);
|
||||
});
|
||||
it('Aged Brie item actually increases in Quality the older it gets', () => {
|
||||
const items = gildedRose.updateQuality();
|
||||
expect(items[3].quality).toBe(34);
|
||||
});
|
||||
it('The Quality of an item is never more than 50', () => {
|
||||
const items = gildedRose.updateQuality();
|
||||
expect(items[4].quality).toBe(50);
|
||||
});
|
||||
it('The Quality of Backstage passes item increases by 2 when there are 10 days or less', () => {
|
||||
const items = gildedRose.updateQuality();
|
||||
expect(items[5].quality).toBe(32);
|
||||
});
|
||||
});
|
||||
|
||||
Loading…
Reference in New Issue
Block a user