Hello! I’m working on Step 23 from the X-Press Publishing project. I can’t pass the GET /api/artists test. I tried to find where I made a mistake but I didn’t see it
Can anyone give me a piece of advice on where I may make a mistake?
Down below you will find my code:
server.js:
const bodyParser = require('body-parser');
const cors = require('cors');
const errorhandler = require('errorhandler');
const morgan = require('morgan');
const express = require('express');
const apiRouter = require('./api/api');
const app = express();
const PORT = process.env.PORT || 4000;
app.use(bodyParser.json());
app.use(cors());
app.use(morgan('dev'));
app.use('./api', apiRouter);
app.use(errorhandler());
app.listen(PORT, () => {
console.log(`Server is listening on port ${PORT}`);
});
module.exports = app;
api.js:
const express = require('express');
const apiRouter = express.Router();
const artistsRouter = require('./artists.js');
apiRouter.use('/artists', artistsRouter);
module.exports = apiRouter;
artists.js:
const express = require('express');
const artistsRouter = express.Router();
const sqlite3 = require('sqlite3');
const db = new sqlite3.Database(process.env.TEST_DATABASE || './database.sqlite');
artistsRouter.get('/', (req, res, next) => {
db.all('SELECT * FROM Artist WHERE Artist.is_currently_employed = 1',
(err, artists) => {
if (err) {
next(err);
} else {
res.status(200).json({artists: artists});
}
});
});
module.exports = artistsRouter;
The test results:
GET /api/artists
GET /api/artists 404 2.364 ms - 150
13) should return all currently-employed artists
GET /api/artists 404 0.250 ms - 150
14) should return a status code of 200
13) GET /api/artists
should return all currently-employed artists:
TypeError: Cannot read property 'length' of undefined
at D:\RUX\Codecademy\capstone-project-1-x-press-publishing\capstone-project-1-x-press-publishing\test\test.js:272:26
at processTicksAndRejections (internal/process/task_queues.js:97:5)
14) GET /api/artists
should return a status code of 200:
Error: expected 200 "OK", got 404 "Not Found"
at Test._assertStatus (node_modules\supertest\lib\test.js:268:12)
at Test._assertFunction (node_modules\supertest\lib\test.js:283:11)
at Test.assert (node_modules\supertest\lib\test.js:173:18)
at Server.localAssert (node_modules\supertest\lib\test.js:131:12)
at emitCloseNT (net.js:1655:8)
at processTicksAndRejections (internal/process/task_queues.js:83:21)
Thank you!