From c1638a56b8c9bd349e18f25ac594a6e8580013b2 Mon Sep 17 00:00:00 2001 From: emily Date: Fri, 3 Nov 2023 15:36:54 +0100 Subject: [PATCH] Get texttests working for Javascript-Jest --- js-jest/README.md | 24 ++++++++++++++++++++---- js-jest/package.json | 3 ++- js-jest/test/texttest_fixture.js | 5 +++-- texttests/config.gr | 4 ++++ 4 files changed, 29 insertions(+), 7 deletions(-) diff --git a/js-jest/README.md b/js-jest/README.md index 8a6e33bc..b60a7294 100644 --- a/js-jest/README.md +++ b/js-jest/README.md @@ -1,6 +1,4 @@ -# Gilded Rose - -This is the Gilded Rose kata in JavaScript with Jest +# Gilded Rose in Javascript with Jest ## Getting started @@ -10,7 +8,7 @@ Install dependencies npm install ``` -## Running tests +## Run the unit tests from the Command-Line To run all tests @@ -29,3 +27,21 @@ To generate test coverage report ```sh npm run test:coverage ``` + +## Run the TextTest fixture from the Command-Line + +For e.g. 10 days: + +``` +node test/texttest_fixture.js 10 +``` + +You should make sure the command shown above works when you execute it in a terminal before trying to use TextTest (see below). + + +## Run the TextTest approval test that comes with this project + +There are instructions in the [TextTest Readme](../texttests/README.md) for setting up TextTest. You will need to specify the Javascript-Jest executable and interpreter in [config.gr](../texttests/config.gr). Uncomment these lines: + + executable:${TEXTTEST_HOME}/js-jest/test/texttest_fixture.js + interpreter:node diff --git a/js-jest/package.json b/js-jest/package.json index 6909ba92..f1713f02 100644 --- a/js-jest/package.json +++ b/js-jest/package.json @@ -5,7 +5,8 @@ "scripts": { "test": "jest", "test:watch": "jest --watch", - "test:coverage": "jest --coverage" + "test:coverage": "jest --coverage", + "texttest": "node test/texttest_fixture.js" }, "repository": { "type": "git", diff --git a/js-jest/test/texttest_fixture.js b/js-jest/test/texttest_fixture.js index a62ede3f..6f1a8e05 100644 --- a/js-jest/test/texttest_fixture.js +++ b/js-jest/test/texttest_fixture.js @@ -19,9 +19,10 @@ const days = Number(process.argv[2]) || 2; const gildedRose = new Shop(items); console.log("OMGHAI!"); -for (let day = 0; day < days; day++) { - console.log(`\n-------- day ${day} --------`); +for (let day = 0; day < days + 1; day++) { + console.log(`-------- day ${day} --------`); console.log("name, sellIn, quality"); items.forEach(item => console.log(`${item.name}, ${item.sellIn}, ${item.quality}`)); gildedRose.updateQuality(); + console.log("") } diff --git a/texttests/config.gr b/texttests/config.gr index a496bb8a..8dc47681 100755 --- a/texttests/config.gr +++ b/texttests/config.gr @@ -35,6 +35,10 @@ diff_program:meld #executable:${TEXTTEST_HOME}/TypeScript/texttest_rig.py #interpreter:python +# Settings for the Javascript Jest version +executable:${TEXTTEST_HOME}/js-jest/test/texttest_fixture.js +interpreter:node + # Settings for the Julia version #executable:${TEXTTEST_HOME}/julia/texttest_fixture.jl #interpreter:julia