Добавление шпиона в request.log в тесте HapiJs Lab - PullRequest
0 голосов
/ 15 января 2019

Я использую HapiJs с лабораторными тестами.

В моих контроллерах я использую request.log при возникновении ошибки:

getData = async (request, h) => {
    try{
        //code
    }
    catch(err){
        request.log('error', 'An error has occurred: ' + err);
    }
}

В моем тесте я хочу убедиться, что request.log был вызван.

        it('should log an error if an error occurs', async function () {

            let server = new Hapi.Server();
            server.route(pluginRoutes);
            let request = { method: 'GET', url: '/api/getData' };

            Sinon.spy(request, 'log');

            // stub throws error

            const response = await server.inject(request);
        expect(request.log.calledOnce).to.equal(true);

        request.log.restore();

    });

Запрос передается при вызове server.inject, поэтому я попытался добавить функцию log к моему объекту запроса и присвоить ему заглушку, но Hapi выдает ошибку проверки.

Я не могу быть единственным, кто пытается это сделать?

Есть идеи?

...