Я пишу тесты в синтаксисе ES6 на базе Babel и использую Jest для запуска тестов.Вот мой тестовый код:
test('case: response body contains a user, should update sessionData', () => {
// current user info in the session
const currentUserInfo = {
firstName: 'User1',
lastName: 'Old Info'
}
const mockSessionData = createSessionHelper(
{
data: {
user: currentUserInfo
}
},
mockLogger
)
// new user info in the body
const newUserInfo = {
firstName: 'User2',
lastName: 'New Info'
}
const body = {
user: newUserInfo
}
const result = handleSuccess({
req: {
sessionData: mockSessionData
},
body
})
expect(result.status).toBe(DEFAULT_SUCCESS_STATUS)
expect(result.body).toEqual(body)
expect(mockSessionData.get('user')).toEqual(newUserInfo)
})
Как видите, я использую одни и те же объекты для использования в качестве параметров для функций, которые я тестирую, и для сопоставления результата с моими ожиданиями.
Я предполагаю, что эти функции не должны изменять эти параметры.Правда ли, что это предположение верно?
При использовании Babel const
мои данные останутся прежними или я все еще буду использовать Object.freeze()
?