I try to call a lot of async functions in my mocha JS before hook but they are executed at last. Basically I am trying to execute repeated tests with different params from the constructor initialization.
I tried with only one function but it also execute at last.Tried to pass done() function to inner async function but it doesnt help either.
a.test.js and base.tests.js files :
describe('Test block', () => {
    before((done) => {
            const baseClass = new baseClass()
            baseTests.applyTests(done)
        });
    describe('test',()=>{
    ....first which should be executed;
    })
}
----------------------------------------------------------------
class baseClass {
    constructor() {
        init smth....
    }
    async applyTests(done) {
        await Promise.All(
        [
            a(),
            b(),
            c()
        ]
        done();
        )
    }
    async a() {
        return describe('TEST', () => {
            it('TEST', (done) => {
                chai.request(server)
                    .get(url)
                    .end((err, res) => {
                        asserts...
                        done();
                    });
            });
        }}
I expect to run first the async operations in the before hook and after that all other tests.