Вы действительно не проверяете приложения на «целостность» данных, как вы их называете.
Особенно, когда данные поступают из внешних (не из вашей БД, например) источников.
Если вы владеете данными, вы можете проверить целостность БД, но, как вы говорите, это не так.
Что вы делаете, так это пишите модульные тесты (функциональные, рекурсивные, end2end-тесты, но то, что вы хотите сделать, в основном будет достигнуто с помощью модульных тестов).
В рамках тестов вы в основном предоставляете все виды данных своему приложению и проверяете, соответствуют ли результаты ожидаемым (как для рабочих, так и для аварийных сценариев).
Таким образом, вы можете быть уверены, что он работает так, как вы его спроектировали.
Если когда-нибудь где-нибудь в будущем обнаружится ошибка, или вы обнаружите ее самостоятельно. Определите точно, почему ошибка возникает, и добавьте тест для нее.
Когда после того, как вы исправите код, отвечающий за ошибку, все ваши тесты пройдут, вы снова будете в порядке.
Что касается библиотек:
"Jest" https://jestjs.io/ - библиотека для многих - в основном для модульных тестов.
Жасмин и Мокко также являются популярным выбором.
Для сквозного тестирования проверьте Testcafe - я рекомендую его.
https://github.com/DevExpress/testcafe
Вы также должны проверить свой API с помощью мокко, чай, супертест или чакрам.
Таким образом, все слои вашего приложения покрываются, и ошибки могут быть обнаружены быстрее.