GildedRose-Refactoring-Kata/js-jest/test/gilded_rose.test.js
2022-04-15 21:59:07 +05:30

68 lines
2.3 KiB
JavaScript

const {Shop, Item} = require("../src/gilded_rose");
describe("Gilded Rose with SellIn Zero", function() {
it("Check Sulfuras quantity", function() {
const gildedRose = new Shop([new Item("Sulfuras", 0, 78)]);
const items = gildedRose.updateQuality();
expect(items[0].quality).toBe(80);
})
it("Aged Brie to increase if SellIn is 0", function() {
const gildedRose = new Shop([new Item("Aged Brie", 0, 20)]);
const items = gildedRose.updateQuality();
expect(items[0].quality).toBe(21);
});
it("Other item to decrease twice if SellIn is 0", function() {
const gildedRose = new Shop([new Item("Other item 1", 0, 20)]);
const items = gildedRose.updateQuality();
expect(items[0].quality).toBe(18);
});
it("Conjured to decrease twice of normal items if SellIn is 0", function() {
const gildedRose = new Shop([new Item("Conjured", 0, 20)]);
const items = gildedRose.updateQuality();
expect(items[0].quality).toBe(16);
});
it("Backstage passes to increase if SellIn is 0", function() {
const gildedRose = new Shop([new Item("Backstage passes", 0, 20)]);
const items = gildedRose.updateQuality();
expect(items[0].quality).toBe(21);
});
});
describe("Gilded Rose with SellIn Non Zero", function() {
it("Check Sulfuras quantity", function() {
const gildedRose = new Shop([new Item("Sulfuras", 2, 78)]);
const items = gildedRose.updateQuality();
expect(items[0].quality).toBe(80);
})
it("Aged Brie to increase if SellIn is 4", function() {
const gildedRose = new Shop([new Item("Aged Brie", 4, 20)]);
const items = gildedRose.updateQuality();
expect(items[0].quality).toBe(23);
});
it("Other item quantity no change if SellIn is greater than 0", function() {
const gildedRose = new Shop([new Item("Other item 1", 5, 20)]);
const items = gildedRose.updateQuality();
expect(items[0].quality).toBe(20);
});
it("Conjured quantity no change if SellIn is greater than 0", function() {
const gildedRose = new Shop([new Item("Conjured", 6, 20)]);
const items = gildedRose.updateQuality();
expect(items[0].quality).toBe(20);
});
it("Backstage passes to increase if SellIn is 8", function() {
const gildedRose = new Shop([new Item("Backstage passes", 8, 20)]);
const items = gildedRose.updateQuality();
expect(items[0].quality).toBe(22);
});
});