mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-16 06:51:27 +00:00
Add: unit test
This commit is contained in:
parent
fa0e7d1dea
commit
a56e6acd5a
2
TypeScript/.gitignore
vendored
2
TypeScript/.gitignore
vendored
@ -8,3 +8,5 @@ test/**/*.js
|
||||
test/**/*.js.map
|
||||
coverage
|
||||
.nyc_output
|
||||
.yarn
|
||||
.DS_Store
|
||||
@ -1,9 +1,82 @@
|
||||
import { Item, GildedRose } from '@/gilded-rose';
|
||||
import { Item, GildedRose } from "@/gilded-rose";
|
||||
|
||||
describe('Gilded Rose', () => {
|
||||
it('should foo', () => {
|
||||
const gildedRose = new GildedRose([new Item('foo', 0, 0)]);
|
||||
describe("Aged Brie 테스트", () => {
|
||||
let gildedRose = new GildedRose([new Item("Aged Brie", 1, 0)]);
|
||||
|
||||
beforeEach(() => {
|
||||
gildedRose = new GildedRose([new Item("Aged Brie", 2, 3)]);
|
||||
});
|
||||
|
||||
it("Aged Brie의 quality는 1 증가, sellIn은 1 감소", () => {
|
||||
const items = gildedRose.updateQuality();
|
||||
expect(items[0].name).toBe('fixme');
|
||||
|
||||
expect(items[0].sellIn).toBe(1);
|
||||
expect(items[0].quality).toBe(4);
|
||||
});
|
||||
|
||||
it("quality는 50을 초과할 수 없음", () => {
|
||||
const gildedRose = new GildedRose([new Item("Aged Brie", 2, 50)]);
|
||||
const items = gildedRose.updateQuality();
|
||||
|
||||
expect(items[0].sellIn).toBe(1);
|
||||
expect(items[0].quality).toBe(50);
|
||||
});
|
||||
});
|
||||
|
||||
describe("Surfras 테스트", () => {
|
||||
let gildedRose = new GildedRose([
|
||||
new Item("Sulfuras, Hand of Ragnaros", 1, 0),
|
||||
]);
|
||||
|
||||
beforeEach(() => {
|
||||
gildedRose = new GildedRose([new Item("Sulfuras, Hand of Ragnaros", 2, 3)]);
|
||||
});
|
||||
|
||||
it("Surfras의 quality는 변하지 않음, sellIn 변하지 않음", () => {
|
||||
const items = gildedRose.updateQuality();
|
||||
|
||||
expect(items[0].sellIn).toBe(2);
|
||||
expect(items[0].quality).toBe(3);
|
||||
});
|
||||
});
|
||||
|
||||
describe("Backstage passes 테스트", () => {
|
||||
let gildedRose = new GildedRose([
|
||||
new Item("Backstage passes to a TAFKAL80ETC concert", 1, 0),
|
||||
]);
|
||||
|
||||
beforeEach(() => {
|
||||
gildedRose = new GildedRose([
|
||||
new Item("Backstage passes to a TAFKAL80ETC concert", 2, 3),
|
||||
]);
|
||||
});
|
||||
|
||||
it("Backstage passes의 sellIn값 1감소, quality 1증가", () => {
|
||||
const items = gildedRose.updateQuality();
|
||||
|
||||
expect(items[0].sellIn).toBe(1);
|
||||
expect(items[0].quality).toBe(6);
|
||||
});
|
||||
|
||||
it("Backstage passes의 sellIn값 10일부터, quality 2증가", () => {
|
||||
const gildedRose = new GildedRose([
|
||||
new Item("Backstage passes to a TAFKAL80ETC concert", 10, 3),
|
||||
]);
|
||||
const items = gildedRose.updateQuality();
|
||||
|
||||
expect(items[0].sellIn).toBe(9);
|
||||
expect(items[0].quality).toBe(5);
|
||||
});
|
||||
|
||||
it("Backstage passes의 sellIn값 5일부터, quality 3증가", () => {
|
||||
const gildedRose = new GildedRose([
|
||||
new Item("Backstage passes to a TAFKAL80ETC concert", 5, 3),
|
||||
]);
|
||||
const items = gildedRose.updateQuality();
|
||||
|
||||
expect(items[0].sellIn).toBe(4);
|
||||
expect(items[0].quality).toBe(6);
|
||||
});
|
||||
|
||||
// TODO: 콘서트 종료 후 quality 0으로 변경 테스트
|
||||
});
|
||||
|
||||
5386
TypeScript/yarn.lock
Normal file
5386
TypeScript/yarn.lock
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user