From 7b973f93ddbd4c9a4603d8416d50a584326fa47c Mon Sep 17 00:00:00 2001 From: emily Date: Fri, 3 Nov 2023 15:39:50 +0100 Subject: [PATCH] Make javascript mocha texttests work --- js-mocha/README.md | 47 +++++++++++++++++++++++++++++++ js-mocha/test/texttest_fixture.js | 5 ++-- texttests/config.gr | 8 ++++-- 3 files changed, 56 insertions(+), 4 deletions(-) create mode 100644 js-mocha/README.md diff --git a/js-mocha/README.md b/js-mocha/README.md new file mode 100644 index 00000000..645c6bb4 --- /dev/null +++ b/js-mocha/README.md @@ -0,0 +1,47 @@ +# Gilded Rose in Javascript with Mocha + +## Getting started + +Install dependencies + +```sh +npm install +``` + +## Run the unit tests from the Command-Line + +To run all tests + +```sh +npm test +``` + +To run all tests in watch mode + +```sh +npm run test:watch +``` + +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-mocha/test/texttest_fixture.js + interpreter:node diff --git a/js-mocha/test/texttest_fixture.js b/js-mocha/test/texttest_fixture.js index a62ede3f..6f1a8e05 100644 --- a/js-mocha/test/texttest_fixture.js +++ b/js-mocha/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 8dc47681..9e2caea5 100755 --- a/texttests/config.gr +++ b/texttests/config.gr @@ -36,8 +36,12 @@ diff_program:meld #interpreter:python # Settings for the Javascript Jest version -executable:${TEXTTEST_HOME}/js-jest/test/texttest_fixture.js -interpreter:node +#executable:${TEXTTEST_HOME}/js-jest/test/texttest_fixture.js +#interpreter:node + +# Settings for the Javascript Mocha version +#executable:${TEXTTEST_HOME}/js-mocha/test/texttest_fixture.js +#interpreter:node # Settings for the Julia version #executable:${TEXTTEST_HOME}/julia/texttest_fixture.jl