Welcome to the Linux Foundation Forum!

LFW211 Node.JS Applications Labs 6.2 npm test does not return expected result

faddah
faddah Posts: 7
edited January 14 in LFW211 Class Forum

Hello all,

I'm taking the LFW211 Node.JS Applications course to be able to take the Node.JS Applications Certification from Linux Foundation/OpenJS and I'm on Chapter 6, Labs 6.2, and am having issues.

Labs 6.1 went fine, I installed the correct npm dependencies and ran $ npm test and got passed without a hitch.

In Labs 6.2, first, as was pointed out in this post, the dependencies are already in the package.json file, so there would be nothing to install, really.

I went around these my deleting the dependencies in the package.json and then re-installing them from the command line as was requested in the Labs 6.2 description, by doing:

$ npm i fastify@2.x, rfdc@1.1.3, semver

I ran that in the ch-6/labs-2 directory from the command line, and it did, in the package.json file, appear to install those dependences as I had wanted and what was required in the Labs 6.2, here's that dependencies section after running the above in my package.json

...
"dependencies": {
    "fastify": "^2.15.3",
    "rfdc": "^1.1.3",
    "semver": "^7.5.4"
  }
...

As you can see, the rfdc installed is, indeed, exactly version 1.1.3, as is required in Labs. 6.2; however, when I run the $ npm test, i get...

$ npm test

labs-2@1.0.0 test
node test

node:assert:399
throw err;
^

AssertionError [ERR_ASSERTION]: rfdc should be at exactly 1.1.3
at Object. (/Users/faddah/Documents/code/learning/LinuxFound-OpenJS/NodeJSApps/labs-dec-2023/ch-6/labs-2/test.js:16:1)
at Module._compile (node:internal/modules/cjs/loader:1241:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1295:10)
at Module.load (node:internal/modules/cjs/loader:1091:32)
at Module._load (node:internal/modules/cjs/loader:938:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:83:12)
at node:internal/main/run_main_module:23:47 {
generatedMessage: false,
code: 'ERR_ASSERTION',
actual: false,
expected: true,
operator: '=='
}

Node.js v20.9.0

... it keeps throwing an AssertionError, saying that the rfdc should be at exactly 1.1.3, which, as you saw, it already is.

here's my test.js file —

'use strict'

const assert = require('assert')
const semver = require('semver')
const pkg = require('./package.json')
assert.doesNotThrow(() => {
    require('fastify')
}, 'fastify should be installed')
assert.doesNotThrow(() => {
    require('rfdc')
}, 'rfdc should be installed')
const { dependencies = {} } = pkg
const deplist = Object.entries(dependencies)
const fastify = deplist.find(([name]) => name === 'fastify').pop()
const rfdc = deplist.find(([name]) => name === 'rfdc').pop()
assert(rfdc === `1.1.3`, 'rfdc should be at exactly 1.1.3')
const { range } = new semver.Range(fastify)
assert(range === '>=2.0.0 <3.0.0-0', 'fastify should be greater than or equal to 2.0.0, while accepting all future MINOR and PATCH versions')
console.log('you passed, you incredibly sexy bastard!')

Could anyone please explain to me why I'm getting this error with $ npm test when my rfdc is, indeed, at version 1.1.3? Any help would be greatly appreciated.

best,

faddah
portland, oregon, u.s.a.

Answers

  • xdxmxc
    xdxmxc Posts: 157

    @faddah it's not about rfdc being at 1.1.3 it's about the package.json specifying it as exactly 1.1.3

Categories

Upcoming Training