У этого есть несколько проблем:
expect(await myAuthenticationPlugin.signup).toThrow() // THIS FAILS
Прежде всего, параметр, передаваемый в expect
, должен быть функцией, поэтому почти правильно:
expect(async () => { await myAuthenticationPlugin.signup() }).toThrow()
... но это тоже не сработает. Это связано с тем, что функция .toThrow()
предназначена для обнаружения синхронного сброса ошибок, а не для проверки отклоненных обещаний. Вы можете использовать .rejects
, чтобы сказать Джесту, что нужно развернуть Обещание:
await expect(myAuthenticationPlugin.signup()).rejects.toThrow()