Bluebird Cada bucle en Mocha no funciona

Estoy escribiendo una prueba donde necesito recorrer los resultados de una llamada API asíncrona y hacer dinámicamente el mocha 'Its' para probar cada iteración de la respuesta. Encontré algunas otras respuestas relacionadas que me ayudaron a comenzar. Esto es lo que he intentado hasta ahora.

function getter(uri) {
    return new Promise(function(resolve, reject) {
        request({
            method: 'GET',
            json: true,
            uri: uri
        }, function(error, response, body) {
            if (response.statusCode == 200) {
                resolve(body);
            } else {
                reject(error);
            }
        });
    });
}

describe('This works', function() {
    it('works', function(done) {
        getter('myapi_that_returns_an_array').then(function(r) {
            r.should.not.be.empty;
            done();
        }).catch(function(err) {
            done(err);
        });
    });
});


describe('Why not this one', function() {
    getter('myapi_that_returns_an_array').each(function(r) {
        it('should make a test', function(done) {
            r.should.not.be.empty;
            done();
        });
    });
});

¡Intenté simplemente envolver una matriz simple en una promesa y alimentar eso a mi prueba y funciona! Por lo tanto, no puedo entender por qué la llamada API que hago no funciona de la misma manera.

function simple_test() {
    return new Promise(function (resolve, reject) {
        resolve([ [1, 2, 3, 4], [2, 3, 4, 1], [3, 4, 2, 1], [4, 1, 2, 3] ]);
        });
}

describe('But this one works', function() {
    two().each(function(r) {
        it('is a test', function(done) {
            r.should.not.be.empty();
            done();
        });
    });
});

Intenté agregar un tiempo de espera a simple_test para que actuara como la llamada a la API: el resultado es el mismo que la llamada a la API. ¿Hay alguna manera de hacer esto con Mocha? Parece que la descripción se está ejecutando antes de esperar a que se resuelva la promesa.

Respuestas a la pregunta(2)

Su respuesta a la pregunta