Я попытался выполнить тест в своем проекте, и я получил несколько ошибок от mongodb. Я использую функцию test для входа на веб-сайт, функцию проверки на наличие пользователя в базе данных и после проверки правильности пароля. Но когда я использую тест, он не знает базу данных, как я могу сделать это в тесте, который он подключил к моему настоящему mongodb? Это мой код:
var expect = require('expect');
const MongoClient = require('mongodb').MongoClient;
const app = require("../app"); // Link to your server file
const supertest = require("supertest");
const request = supertest(app);
const manager = require("../app/server/modules/account-manager");
var db, accounts, phrases, categories;
describe("Mongo DataBase Manager", () => {
beforeAll(async () => { // here i tried to connect to my database
MongoClient.connect(process.env.DB_URL, { useUnifiedTopology: true, useNewUrlParser: true }, function(e, client) {
if (e) {
console.log(e);
} else {
db = client.db(process.env.DB_NAME);
accounts = db.collection('accounts');
phrases = db.collection('pharses');
categories = db.collection('categories');
}
});
});
test("swisa is in the accounts database", () => {
const e = manager.manualLogin("swisa", "123456");
expect(e).toBe(null);
});
});
это функция ручного входа в систему:
exports.manualLogin = function(user, pass, callback)
{
accounts.findOne({user:user}, function(e, o) {
if (o == null){
callback('user-not-found');
} else{
validatePassword(pass, o.pass, function(err, res) {
if (res){
callback(null, o);
} else{
callback('invalid-password');
}
});
}
});
}
и ошибка:
Ошибка типа: невозможно прочитать свойство ' findOne 'из неопределенного
201 | exports.manualLogin = function(user, pass, callback)
202 | {
> 203 | accounts.findOne({user:user}, function(e, o) {
спасибо за помощь.