Я хочу издеваться над строкой кода ниже. И, пожалуйста, объясните, как я могу подробно издеваться над этим, поскольку я новичок в javascript и написании тестовых случаев. Приведенный ниже код вернет обещание.
const createPriceConfiguration = (fastify, req) => {
return fastify.pg.transact(client => insertQuery(fastify, client, req));
};
const client = {
query: jest.fn(() => {
return new Promise(resolve => {
resolve({ rows: [req.body] });
});
})
};
Мой коллега дал решение, которое я не могу понять.
transact: jest.fn(queryFunction => {
return queryFunction(client);
})



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы хотите протестировать createPriceConfiguration функцию, которая берет fastify объект и вызывает из него функцию. Насмешка над этой функцией может быть сделана путем насмешки над объектом fastify. Вам нужно смоделировать метод transact в переданном объекте fastify, чтобы вернуть желаемый ответ (например, обещание или результат другой функции,...)
const mockedFastify = {
pg: {
transact: jest.fn(() => new Promise(resolve => {
...desired code
}))
}
};
Затем в тестовом примере вы передаете издевательский объект createPriceConfiguration(mockedFastify);
Пожалуйста, обновите свой вопрос, указав дополнительную информацию о том, что вы пытаетесь сделать, где этот код существует и как он называется, и что именно вы хотите издеваться. Сейчас недостаточно информации, чтобы помочь.