Всем, кто откликнулся большое спасибо! Задача решена.
async/await - Уже пробовал так. В принципе немногим отличается от цепочки промисов. Где-то даже читал, что это доработка над промисам для лучшения юзабилити, но конструкция не такая гибкая как цепочка промисов.
Тут есть сложности с совместной работой с Mocha.
Если честно перепробовал около 7 библиотек и перепробовал много вариантов реализаций. И не считаю что потрптил время зря. Много узнал)))
И нашёл замечательное решение в виде библиотеки xmlhttprequest.
Имеет флаг true/false для запуска в асинхронном или синхронном режиме. Работает безотказно.
Вот пример, еслли кому интересно:
var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest; module.exports = class visibilityClass{ constructor(servers) { this.servers = servers; } validatedProductsDelete(testParams) { let xhr = new XMLHttpRequest(); xhr.open("DELETE", this.servers + "/delete", false); xhr.setRequestHeader("Content-Type", "application/json"); xhr.setRequestHeader("accept", "*/*"); xhr.send(JSON.stringify(testParams.body)); let statusCode = xhr.status; return { statusCode: statusCode } } };