У меня есть небольшая служебная функция, которую я тестирую с Jest и Enzyme в моем проекте React-TS. В файле JS в этом проекте я получаю следующую ошибку:
"validateUsername" is read-only.
Это сама утилита:
export const validateUsername = value =>
listUsers()
.then(({ data }) => {
if (Array.isArray(data) && data.find(userData => userData.username === value)) {
throw 'Username already exists';
}
})
.catch(error => {
throw serverErrorResponseUtil(error);
});
А вот и тест для него:
describe('Validate Username', () => {
const validateUsernameFn = jest.fn();
beforeEach(() => {
validateUsername = validateUsernameFn;
});
it('Should throw an error if the given value exists', async () => {
try {
await validateUsername('username');
} catch (e) {
expect(e).toEqual('Username already exists');
}
});
it('Accept the data if the passed userName is unique', async () => {
expect(() => validateUsername('Username is unique')).not.toThrow();
});
});
Я получаю ошибку здесь: validateUsername = validateUsernameFn;
. Дело в том, что этот файл JS. Почему я получаю сообщение об ошибке только для чтения. Можете ли вы, ребята, помочь мне здесь?