Javascript 不确定为什么我的测试不起作用-200对400状态
我在想为什么我不能通过这次考试。我应该得到一个200状态消息,但在我的InsuranceQuotesController.js文件中我得到了一个400(来自Javascript 不确定为什么我的测试不起作用-200对400状态,javascript,node.js,chai,express-validator,Javascript,Node.js,Chai,Express Validator,我在想为什么我不能通过这次考试。我应该得到一个200状态消息,但在我的InsuranceQuotesController.js文件中我得到了一个400(来自if(!errors.isEmpty())状态消息。因为const errors不是空的,它返回400状态代码。你知道我如何解决这个问题吗 Test.js const chai = require("chai") const expect = chai.expect; const assert = require('ch
if(!errors.isEmpty()
)状态消息。因为const errors
不是空的,它返回400状态代码。你知道我如何解决这个问题吗
Test.js
const chai = require("chai")
const expect = chai.expect;
const assert = require('chai').assert;
const quote = require('../controllers/insuranceQuotesControllers');
const app = require('../app');
const pathUrl = "/api/v1/quote/car-insurance";
chai.use(require("chai-http"));
describe ('200 message status', () => {
it('should return the 200 status message if the person is eligible', ()=>{
chai.request('http://localhost:8080')
.post(pathUrl)
.set('Accept', 'application/json')
.send({
"car_value": 10000.00,
"driver_birthdate": "17/11/1990"
})
.end((err, res) => {
assert.equal(res.status, 200, "Status OK 200")
// assert.equal(res.body.success, true)
// assert.equal(res.body.message, "quote successfully computed")
// assert.equal(res.body.data.eligible, false)
// assert.equal(res.body.data.premiums, null)
})
});
})
const express = require("express")
const bodyParser = require("body-parser")
const insuranceQuoteRoutes = require("./routes/insuranceQuotes")
const app = express()
app.use(bodyParser.json())
app.use("/api", insuranceQuoteRoutes)
app.listen(8080)
module.exports = app
const express = require("express")
// const {body} = require("express-validator");
const {check, validationResult} = require("express-validator");
const insuranceQuoteController = require("../controllers/insuranceQuotesControllers")
const router = express.Router()
//carDateRegex: https://www.regextester.com/99555
const carDateRegex = /^([0-2][0-9]|(3)[0-1])(\/)(((0)[0-9])|((1)[0-2]))(\/)\d{4}$/
// router.post("/v1/quote/car-insurance", [
// body("car-value").isFloat(),
// body("driver_birthdate").matches(carDateRegex)
// ], insuranceQuoteController.postInsuranceQuotes);
router.post("/v1/quote/car-insurance", [
check("car-value").isFloat(),
check("driver_birthdate").matches(carDateRegex)
], insuranceQuoteController.postInsuranceQuotes);
module.exports = router
const {check, validationResult} = require("express-validator");
exports.postInsuranceQuotes = (req,res) => {
const errors = validationResult(req);
const birthdateDriver = req.body.driver_birthdate;
const ageDriver = driverAge(birthdateDriver);
if(!errors.isEmpty()){
return res.status(400).json({
"success": false,
"message": "parameters missing or incorrect values"
})
}
if(ageDriver < 18){
res.status(200).json({
success: true,
message: "quote successfully computed",
data: {
eligible: false,
premiums: null
}
})
} else if(ageDriver >= 18){
res.status(200).json({
success: true,
message: "quote successfully computed",
data: {
eligible: true,
premiums: {
civil_liability: civilLiability(ageDriver),
omnium: omnium()
}
}
});
}
}
app.js
const chai = require("chai")
const expect = chai.expect;
const assert = require('chai').assert;
const quote = require('../controllers/insuranceQuotesControllers');
const app = require('../app');
const pathUrl = "/api/v1/quote/car-insurance";
chai.use(require("chai-http"));
describe ('200 message status', () => {
it('should return the 200 status message if the person is eligible', ()=>{
chai.request('http://localhost:8080')
.post(pathUrl)
.set('Accept', 'application/json')
.send({
"car_value": 10000.00,
"driver_birthdate": "17/11/1990"
})
.end((err, res) => {
assert.equal(res.status, 200, "Status OK 200")
// assert.equal(res.body.success, true)
// assert.equal(res.body.message, "quote successfully computed")
// assert.equal(res.body.data.eligible, false)
// assert.equal(res.body.data.premiums, null)
})
});
})
const express = require("express")
const bodyParser = require("body-parser")
const insuranceQuoteRoutes = require("./routes/insuranceQuotes")
const app = express()
app.use(bodyParser.json())
app.use("/api", insuranceQuoteRoutes)
app.listen(8080)
module.exports = app
const express = require("express")
// const {body} = require("express-validator");
const {check, validationResult} = require("express-validator");
const insuranceQuoteController = require("../controllers/insuranceQuotesControllers")
const router = express.Router()
//carDateRegex: https://www.regextester.com/99555
const carDateRegex = /^([0-2][0-9]|(3)[0-1])(\/)(((0)[0-9])|((1)[0-2]))(\/)\d{4}$/
// router.post("/v1/quote/car-insurance", [
// body("car-value").isFloat(),
// body("driver_birthdate").matches(carDateRegex)
// ], insuranceQuoteController.postInsuranceQuotes);
router.post("/v1/quote/car-insurance", [
check("car-value").isFloat(),
check("driver_birthdate").matches(carDateRegex)
], insuranceQuoteController.postInsuranceQuotes);
module.exports = router
const {check, validationResult} = require("express-validator");
exports.postInsuranceQuotes = (req,res) => {
const errors = validationResult(req);
const birthdateDriver = req.body.driver_birthdate;
const ageDriver = driverAge(birthdateDriver);
if(!errors.isEmpty()){
return res.status(400).json({
"success": false,
"message": "parameters missing or incorrect values"
})
}
if(ageDriver < 18){
res.status(200).json({
success: true,
message: "quote successfully computed",
data: {
eligible: false,
premiums: null
}
})
} else if(ageDriver >= 18){
res.status(200).json({
success: true,
message: "quote successfully computed",
data: {
eligible: true,
premiums: {
civil_liability: civilLiability(ageDriver),
omnium: omnium()
}
}
});
}
}
insuranceQuotes.js
const chai = require("chai")
const expect = chai.expect;
const assert = require('chai').assert;
const quote = require('../controllers/insuranceQuotesControllers');
const app = require('../app');
const pathUrl = "/api/v1/quote/car-insurance";
chai.use(require("chai-http"));
describe ('200 message status', () => {
it('should return the 200 status message if the person is eligible', ()=>{
chai.request('http://localhost:8080')
.post(pathUrl)
.set('Accept', 'application/json')
.send({
"car_value": 10000.00,
"driver_birthdate": "17/11/1990"
})
.end((err, res) => {
assert.equal(res.status, 200, "Status OK 200")
// assert.equal(res.body.success, true)
// assert.equal(res.body.message, "quote successfully computed")
// assert.equal(res.body.data.eligible, false)
// assert.equal(res.body.data.premiums, null)
})
});
})
const express = require("express")
const bodyParser = require("body-parser")
const insuranceQuoteRoutes = require("./routes/insuranceQuotes")
const app = express()
app.use(bodyParser.json())
app.use("/api", insuranceQuoteRoutes)
app.listen(8080)
module.exports = app
const express = require("express")
// const {body} = require("express-validator");
const {check, validationResult} = require("express-validator");
const insuranceQuoteController = require("../controllers/insuranceQuotesControllers")
const router = express.Router()
//carDateRegex: https://www.regextester.com/99555
const carDateRegex = /^([0-2][0-9]|(3)[0-1])(\/)(((0)[0-9])|((1)[0-2]))(\/)\d{4}$/
// router.post("/v1/quote/car-insurance", [
// body("car-value").isFloat(),
// body("driver_birthdate").matches(carDateRegex)
// ], insuranceQuoteController.postInsuranceQuotes);
router.post("/v1/quote/car-insurance", [
check("car-value").isFloat(),
check("driver_birthdate").matches(carDateRegex)
], insuranceQuoteController.postInsuranceQuotes);
module.exports = router
const {check, validationResult} = require("express-validator");
exports.postInsuranceQuotes = (req,res) => {
const errors = validationResult(req);
const birthdateDriver = req.body.driver_birthdate;
const ageDriver = driverAge(birthdateDriver);
if(!errors.isEmpty()){
return res.status(400).json({
"success": false,
"message": "parameters missing or incorrect values"
})
}
if(ageDriver < 18){
res.status(200).json({
success: true,
message: "quote successfully computed",
data: {
eligible: false,
premiums: null
}
})
} else if(ageDriver >= 18){
res.status(200).json({
success: true,
message: "quote successfully computed",
data: {
eligible: true,
premiums: {
civil_liability: civilLiability(ageDriver),
omnium: omnium()
}
}
});
}
}
InsuranceQuotesController.js
const chai = require("chai")
const expect = chai.expect;
const assert = require('chai').assert;
const quote = require('../controllers/insuranceQuotesControllers');
const app = require('../app');
const pathUrl = "/api/v1/quote/car-insurance";
chai.use(require("chai-http"));
describe ('200 message status', () => {
it('should return the 200 status message if the person is eligible', ()=>{
chai.request('http://localhost:8080')
.post(pathUrl)
.set('Accept', 'application/json')
.send({
"car_value": 10000.00,
"driver_birthdate": "17/11/1990"
})
.end((err, res) => {
assert.equal(res.status, 200, "Status OK 200")
// assert.equal(res.body.success, true)
// assert.equal(res.body.message, "quote successfully computed")
// assert.equal(res.body.data.eligible, false)
// assert.equal(res.body.data.premiums, null)
})
});
})
const express = require("express")
const bodyParser = require("body-parser")
const insuranceQuoteRoutes = require("./routes/insuranceQuotes")
const app = express()
app.use(bodyParser.json())
app.use("/api", insuranceQuoteRoutes)
app.listen(8080)
module.exports = app
const express = require("express")
// const {body} = require("express-validator");
const {check, validationResult} = require("express-validator");
const insuranceQuoteController = require("../controllers/insuranceQuotesControllers")
const router = express.Router()
//carDateRegex: https://www.regextester.com/99555
const carDateRegex = /^([0-2][0-9]|(3)[0-1])(\/)(((0)[0-9])|((1)[0-2]))(\/)\d{4}$/
// router.post("/v1/quote/car-insurance", [
// body("car-value").isFloat(),
// body("driver_birthdate").matches(carDateRegex)
// ], insuranceQuoteController.postInsuranceQuotes);
router.post("/v1/quote/car-insurance", [
check("car-value").isFloat(),
check("driver_birthdate").matches(carDateRegex)
], insuranceQuoteController.postInsuranceQuotes);
module.exports = router
const {check, validationResult} = require("express-validator");
exports.postInsuranceQuotes = (req,res) => {
const errors = validationResult(req);
const birthdateDriver = req.body.driver_birthdate;
const ageDriver = driverAge(birthdateDriver);
if(!errors.isEmpty()){
return res.status(400).json({
"success": false,
"message": "parameters missing or incorrect values"
})
}
if(ageDriver < 18){
res.status(200).json({
success: true,
message: "quote successfully computed",
data: {
eligible: false,
premiums: null
}
})
} else if(ageDriver >= 18){
res.status(200).json({
success: true,
message: "quote successfully computed",
data: {
eligible: true,
premiums: {
civil_liability: civilLiability(ageDriver),
omnium: omnium()
}
}
});
}
}
const{check,validationResult}=require(“快速验证器”);
exports.postinsurancequeotes=(请求、回复)=>{
常量错误=验证结果(req);
const birthdateDriver=req.body.driver\u birthdate;
const ageDriver=驾驶率(birthdateDriver);
如果(!errors.isEmpty()){
返回res.status(400).json({
“成功”:错误,
“消息”:“参数丢失或值不正确”
})
}
如果(年龄小于18岁的驾驶员){
res.status(200).json({
成功:没错,
消息:“报价已成功计算”,
数据:{
符合条件:错误,
保费:零
}
})
}否则如果(年龄驱动程序>=18){
res.status(200).json({
成功:没错,
消息:“报价已成功计算”,
数据:{
符合条件:正确,
保费:{
民事责任:民事责任(年龄),
omnium:omnium()
}
}
});
}
}