import { Item, GildedRose } from '@/gilded-rose'; /** * This unit test uses [Jest Snapshot](https://goo.gl/fbAQLP). * * There are two test cases here with different styles: *
  • "foo" is more similar to the unit test from the 'Java' version *
  • "thirtyDays" is more similar to the TextTest from the 'Java' version * * I suggest choosing one style to develop and deleting the other. */ describe('Gilded Rose Approval', () => { let gameConsoleOutput: string; let originalConsoleLog: (message: any) => void; let originalProcessArgv: string[] function gameConsoleLog(msg: string) { if (msg) { gameConsoleOutput += msg; } gameConsoleOutput += "\n"; } beforeEach(() => { // prepare capturing console.log to our own gameConsoleLog. gameConsoleOutput = ""; originalConsoleLog = console.log; console.log = gameConsoleLog; originalProcessArgv = process.argv; }); afterEach(() => { // reset original console.log console.log = originalConsoleLog; process.argv = originalProcessArgv; }); it('should foo', () => { const gildedRose = new GildedRose([new Item('foo', 0, 0)]); const items = gildedRose.updateQuality(); expect(items).toMatchSnapshot(); }); it('should thirtyDays', () => { process.argv = ["", "