diff --git a/.github/workflows/run_node_tests.yml b/.github/workflows/run_node_tests.yml index 2661ed5..0b4b9c9 100644 --- a/.github/workflows/run_node_tests.yml +++ b/.github/workflows/run_node_tests.yml @@ -7,10 +7,12 @@ jobs: runs-on: node name: discord bot tests steps: - - name: checkout - uses: actions/checkout@v4 - - name: install packages + - uses: actions/checkout@v4 + - name: Use Node.js + uses: actions/setup-node@v4 + with: + node-version: 'latest' + - name: install dependencies run: npm install - name: run tests - run: npm test - + run: npm test \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 845c756..dafc536 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,6 +20,7 @@ "valid-url": "^1.0.9" }, "devDependencies": { + "@types/jest": "^29.5.13", "jest": "^29.7.0" } }, @@ -1422,6 +1423,17 @@ "@types/istanbul-lib-report": "*" } }, + "node_modules/@types/jest": { + "version": "29.5.13", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.13.tgz", + "integrity": "sha512-wd+MVEZCHt23V0/L642O5APvspWply/rGY5BcW4SUETo2UzPU3Z26qr8jC2qxpimI2jjx9h7+2cj2FwIr01bXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" + } + }, "node_modules/@types/node": { "version": "22.7.8", "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.8.tgz", diff --git a/package.json b/package.json index c559bb1..766016f 100644 --- a/package.json +++ b/package.json @@ -24,6 +24,7 @@ "author": "SileNce5k", "license": "UNLICENSE", "devDependencies": { + "@types/jest": "^29.5.13", "jest": "^29.7.0" } } diff --git a/tests/calculateReloaded.test.js b/tests/calculateReloaded.test.js new file mode 100644 index 0000000..5b7a5d5 --- /dev/null +++ b/tests/calculateReloaded.test.js @@ -0,0 +1,26 @@ +const calculateReloaded = require('../util/calculateReloaded') + +let client = {commands: new Map()}; +for(let i = 0; i < 10; i++){ + client.commands.set(i, i * 420); +} +let beforeSizes = [0, 12, 10, 9, 11, 6, 104]; +let expectedResults = [ + `10 modules were added, and a total of 10 were reloaded.`, + `10 modules were reloaded after 2 were disabled.`, + `10 modules were reloaded.`, + `1 module was added, and a total of 10 were reloaded.`, + `10 modules were reloaded after 1 module was deleted.`, + `4 modules were added, and a total of 10 were reloaded.`, + `10 modules were reloaded after 94 were disabled.` +] + +if(beforeSizes.length != expectedResults.length) throw "Error: beforeSizes and expectedResults are unequal length" + +for(let i = 0; i < beforeSizes.length; i++){ + test('calculateReloaded test', () => { + expect(calculateReloaded(beforeSizes[i], client)).toBe(expectedResults[i]) + + }); + +}