Ничего не вернуть во время интеграционного тестирования - PullRequest
0 голосов
/ 25 мая 2020

Я выполняю интеграционное тестирование с помощью 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"
        });
      } 
...