Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

159
Visualizações
400 Solicitud incorrecta al probar una solicitud POST para obtener los datos

Actualmente estoy trabajando en una aplicación de nodo js donde escribí una de las API usando una solicitud POST para obtener los datos de la base de datos. Utilicé POST req porque no quería exponer los parámetros en la URL y enviar la cláusula where en el cuerpo de la solicitud de una solicitud de publicación.

Actualmente estoy escribiendo los casos de prueba usando broma para la API de publicación, pero obtengo un error de solicitud incorrecto. Aquí está mi código -

 'use strict' jest.mock('../../utils/db2.js') const request = require('supertest') const app = require('../../app') describe('service read API test', () => { beforeEach(() => { jest.resetModules() }) it('service read API good', async () => { const res = await request(app) .post('/api/v1/abc/xyz/') .send({ id: '090703' }) console.log('Response Body :', JSON.stringify(res.body, null, 2)) expect(res.status).toBe(200) expect(res.body).toEqual({ dnum: '090703', num: 1, startdate: '2021-06-01', enddate: '2022-05-31', rolecode: 5, fnum: 1.049, lastmodifieddate: '2021-06-02 05:34:04.382279', createtime: '2021-06-01 10:53:24.269686', }) })

Básicamente, en la API, en el cuerpo de la solicitud, estoy enviando una identificación y en el cuerpo de la respuesta, obtengo el conjunto de resultados según la identificación proporcionada. Pero sigo recibiendo el siguiente error:

 ● Console console.log Response Body : { "message": "No Records found for the given attributes" } service read API test › service read API good expect(received).toBe(expected) // Object.is equality Expected: 200 Received: 400 46 | }) 47 | console.log('Response Body :', JSON.stringify(res.body, null, 2)) > 48 | expect(res.status).toBe(200) | ^ 49 | expect(res.body).toEqual({ 50 | dnum: '090703', 51 | num: 1,

He intentado varias cosas pero no estoy seguro de qué estoy haciendo mal aquí. ¿Cualquier sugerencia?

Código del controlador a continuación:

 'use strict' const express = require('express') const router = express.Router() const { getDBDetails } = require('../utils/constants') const executeDb2Query = require('../utils/db2') const { validate } = require('express-validation') router.post('/', async (req, res, next) => { try { if (req.body.constructor === Object && Object.keys(req.body).length === 0) { return res.status(400).send('Request Body is empty. Please check!!') } const request= req.body const getDetails = await executeDb2Query({ sql: getDBDetails(disNum), log: req.log, name: 'Get Details', errorMsg: 'Get error while getting the Details ' }) return res.status(200).json(getDetails) } else { return res .status(400) .json({ message: 'No Records found for the given attributes' }) } } catch (error) { return next(error) } })
about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda