#Hi, Why tests failing even though my code works just fine?

1 messages · Page 1 of 1 (latest)

north coyote
#

routes\api.js :

const mongoose = require("mongoose");
const IssueModel = require("../models/issue-model");
const ProjectModel = require("../models/project-model");
module.exports = function (app) {
  app
.route("/api/issues/:project")
.post(async (req, res) => {
      try {
        const {
          issue_text,
          issue_title,
          created_by,
          assigned_to,
          status_text,
        } = req.body;
        const project = req.params.project;

        if (!issue_text || !issue_title || !created_by) {
          return res.status(200).json({ error: "required field(s) missing" });
        }

        let projectData = await ProjectModel.findOne({ name: project });

        if (!projectData) {
          return res.status(404).json({ error: "Project not found" });
        }

        const newIssue = new IssueModel({
          projectId: projectData._id,
          issue_title,
          issue_text,
          created_on: new Date(),
          updated_on: new Date(),
          created_by,
          assigned_to: assigned_to || "",
          open: true,
          status_text: status_text || "",
        });

        // Save the issue separately in the issues collection
        await newIssue.save();

        // Initialize the issues array if it's undefined
        if (!projectData.issues) {
          projectData.issues = [];
        }

        // Update the project document to include the new issue
        projectData.issues.push(newIssue);
        await projectData.save();

        // Response with the newly created issue
        return res.json(newIssue);
      } catch (err) {
        return res
          .status(500)
          .send("Error while saving in Post: " + err.message);
      }
    })
};