Я пытаюсь написать тест, используя jestJS для этой функции, но у меня возникли некоторые проблемы с тем, как смоделировать socket.emit()
и getPwmDutyCycle()
функцию:
module.exports = async (app, socket) => {
const res = []
const array = ['some', 'example', 'elements']
array.map((elm, index) => {
res.push(app.locals['target' + (index + 1)].getPwmDutyCycle())
})
socket.emit('status', res)
}
Это то, что я придумал:
const status = require('../lib/status.js')
test('should emit dc values', () => {
const app = {
locals: {
target1: 1,
target2: 2,
target3: 3
}
}
const socket = { emit: jest.fn() }
status(app, socket)
expect(socket.emit).toHaveBeenCalled()
expect(socket.emit.mock.calls[0][0]).toBe('status')
expect(socket.emit.mock.calls[1][0]).toBe([1, 2, 3])
})