Я выполняю интеграционное тестирование с помощью jest. Когда я пытаюсь проверить, существует ли уже электронное письмо в базе данных, но все время ничего не получаю. Вот код для тестирования:
const {user_signup} = require('../../../api/controllers/user');
const User = require('../../../api/models/user');
describe('insert', () => {
it('signup',async() => {
User.find({email:'axy@gmail.com'}).then(user =>{
console.log(user);
expect(user).toEqual("Mail E");
});
});
});
вот модель пользователя:
const mongoose = require('mongoose');
const userSchema = mongoose.Schema({
_id: mongoose.Schema.Types.ObjectId,
email: {
type: String,
required: true,
unique: true,
match: /[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/
},
password: { type: String, required: true },
accessLevel: {
type: String,
required: true,
default: "User"
}, phoneNumber: {
type: String,
default: 888888888
}, name: {
type: String,
default: "XYZ"
}, emailConfirmed: {
type: Boolean,
required: true,
default: false
}, phoneConfirmed: {
type: Boolean,
required: true,
default: false
}
});
module.exports = mongoose.model('User', userSchema);
когда тестовый файл выполняется, все время ничего не возвращает и всегда проходит тестовые случаи
и когда я делаю это
describe('insert', () => {
it('sign',async() => {
var ans = await user_signup({query:{email:'risi@gmail.com',password:'risi'}});
expect(ans).toEqual("ans");
},40000);
});
, он возвращает undefined.
это пользователь. js файл
const mongoose = require("mongoose");
const bcryptjs = require("bcryptjs");
const jwt = require("jsonwebtoken");
const nodemailer = require('nodemailer');
const User = require("../models/user");
const user_signup = (req, res, next) => {
User.find({ email: req.query.email })
.exec()
.then(user => {
console.log('============this is pre the user========================');
console.log(user);
console.log('====================================');
if (user.length >= 1) {
return res.status(409).json({
message: "Mail exists"
});
}