Я пытаюсь опубликовать на веб-API, который я создал. Я не получаю заголовок, описание, начало, конец, приоритет, категорию и статус обратно, как ожидалось. Вместо этого я возвращаю идентификатор в теле результата.
Я пытался:
изменить .send({...})
в тесте. js на .query({...})
, но не повезло. Заключение ключей из теста. js с кавычками, например, «title»: «Читать книгу»
server. js
const express = require("express");
const app = express();
const connectDb = require("./src/connection");
const Task = require("./src/Task.model");
const PORT = 8080;
app.use(express.urlencoded({ extended: false }));
app.get("/tasks", async (req, res) => {
const tasks = await Task.find();
res.status(200).send(tasks);
});
app.post("/task-create", async (req, res) => {
let task = new Task(
{
title: req.query.title,
description: req.query.description,
start: req.query.start,
end: req.query.end,
priority: req.query.priority,
category: req.query.category,
status: req.query.status
});
await task.save().then(() => console.log("Task created"));
res.status(200).send(task);
});
app.listen(PORT, function() {
console.log(`Listening on ${PORT}`);
connectDb().then(() => {
console.log("MongoDb connected");
});
});
тест. js
let chai = require("chai");
let chaiHttp = require("chai-http");
let server = process.env.APP_URL || "http://localhost:8080"
let should = chai.should();
chai.use(chaiHttp);
describe ("CRUD OPERATIONS", () => {
it ("Should add task in DB", (done) => {
chai.request(server)
.post("/task-create")
.send({
title: "Read a book",
description: "Quiet activity",
start: "2020/03/02",
end: "2020/03/06",
priority: "high",
category: "education",
status: false
})
.end((err, result) => {
if (err) {
done(err)
}
result.should.have.status(200);
console.log("result is: " + JSON.stringify(result.body))
done()
})
})
it ("Should Fetch all the tasks", (done) => {
chai.request(server)
.get("/tasks")
.end((err, result) => {
if (err) {
done(err)
}
result.should.have.status(200);
console.log("result is: " + JSON.stringify(result.body))
done()
})
})
})