TypeError: user.findone.mockresolvedValue не является функцией при использовании jest.mock () с моделью монгуза в шуткахJavascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Anonymous
 TypeError: user.findone.mockresolvedValue не является функцией при использовании jest.mock () с моделью монгуза в шутках

Сообщение Anonymous »

Я сталкиваюсь с типом ошибки: user.findone.mockresolvedValue не является функцией, пытаясь издеваться над методом FindOne Mongoose в моих шутках. Проблема возникает, хотя я правильно издевался над моделью пользователя, используя jest.mock () и настроил макетные реализации для ее методов.
Вот моя настройка: < /p>
I am using ES modules with import and export in my code.

I am mocking a Mongoose model, specifically the findOne and create methods in the User.js model, to simulate the behavior of the database during tests.

I am running tests with Jest, and using the supertest package to send HTTP requests to my application.

Внутренние модели/Mocks/user.js:
const findOne = jest.fn();
const create = jest.fn();

export default {findOne, create};
< /code>
Inside jest.config.js: < /p>
export default {
testEnvironment: 'node',
transform: {},
moduleNameMapper: {
'^(\\.{1,2}/.*)\\.js$': '$1',
},
};
< /code>
Inside auth.test.js: < /p>
import {jest} from '@jest/globals';
import request from 'supertest';
import app from '../app.js';
jest.mock('../models/User.js');
import User from '../models/User.js';
import bcrypt from "bcrypt";

let dummyUser;

beforeAll(async () => {
dummyUser = {
_id: 'fakeid123',
username: 'mockuser',
email: '[email protected]',
password: await bcrypt.hash('password123!', 10)
};
})

describe('Auth tanpa DB (mock)', ()=>{
it('register user successfully', async ()=>{
console.log(User.findOne);
User.findOne.mockResolvedValue(null);
User.create.mockResolvedValue(dummyUser);

const res = await request(app)
.post('/api/auth/register')
.send({
username: dummyUser.username,
email: dummyUser.email,
password: 'password123!'
});
expect(res.status).toBe(201);
expect(res.body).toHaveProperty('message');
})

it('login user successfully', async ()=>{
User.findOne.mockResolvedValue(dummyUser);

const res = await request(app)
.post('/api/auth/login')
.send({
email: dummyUser.email,
password: 'password123',
});
expect(res.status).toBe(200);
expect(res.body).toHaveProperty('token');
})
})
< /code>
И это ошибка: < /p>
FAIL tests/auth.test.js
● Console

console.log
[Function: findOne]

at Object. (tests/auth.test.js:26:11)

● Auth tanpa DB (mock) › register user successfully

TypeError: User.findOne.mockResolvedValue is not a function

25 | it('register user successfully', async ()=>{
26 | console.log(User.findOne);
> 27 | User.findOne.mockResolvedValue(null);
| ^
28 | User.create.mockResolvedValue(dummyUser);
29 |
30 | const res = await request(app)

at Object. (tests/auth.test.js:27:16)

● Auth tanpa DB (mock) › login user successfully

TypeError: User.findOne.mockResolvedValue is not a function

40 |
41 | it('login user successfully', async ()=>{
> 42 | User.findOne.mockResolvedValue(dummyUser);
| ^
43 |
44 | const res = await request(app)
45 | .post('/api/auth/login')

at Object. (tests/auth.test.js:42:16)


Подробнее здесь: https://stackoverflow.com/questions/795 ... -jest-mock
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • MongoDB User.findOne({email:email})
    Anonymous » » в форуме Jquery
    0 Ответы
    37 Просмотры
    Последнее сообщение Anonymous
  • Next.js и Jest: TypeError `Аргумент« оригинал »должен быть функцией типа
    Anonymous » » в форуме Javascript
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • @OneToOne или @ManyToOne в Instrument.created ссылается на неизвестную сущность: user.User, где User — интерфейс.
    Anonymous » » в форуме JAVA
    0 Ответы
    128 Просмотры
    Последнее сообщение Anonymous
  • @OneToOne или @ManyToOne в Instrument.created ссылается на неизвестную сущность: user.User, где User — интерфейс.
    Anonymous » » в форуме JAVA
    0 Ответы
    90 Просмотры
    Последнее сообщение Anonymous
  • Jest.mock ('fs') нарушает импорт пакета Xml2json
    Anonymous » » в форуме Javascript
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Javascript»