макет netstorageapi "dir" и посмотрите, как она была вызвана (javascript / jest) - PullRequest
0 голосов
/ 20 октября 2019

netstorageapi (https://www.npmjs.com/package/netstorageapi имеет функцию dir, которую я пытаюсь смоделировать и посмотреть, была ли она вызвана в моей функции под названием `myFunc.

Моя реальная реализация:

import Netstorage from 'netstorageapi'

const config = {
    hostname:  '********',
    keyName: '******',
    key: '*******',
    cpCode: '****'
};

const ns = new Netstorage(config);

export async function myFunc(path = '') {
    return new Promise((resolve, reject) => {
        ns.dir(`/${config.cpCode}/${path}`, (error, response, body) => {

            if (response.statusCode === 200) {
                resolve(body.files);
            }
        });
    })
 }

мой тест:

import Netstorage from 'netstorageapi'

it('test', async() => {

    const fakeConfig = {
        hostname:  'a',
        keyName: 'b',
        key: 'c',
        cpCode: 'blabla'
    };

    const ns = new Netstorage(fakeConfig);
    const dirSpy = jest.spyOn(ns, 'dir');


    await myFunc('somepath');

    expect(dirSpy).toHaveBeenCalledTimes(1);
});

Я получаю следующую ошибку при запуске в jest, когда он пытается подключиться к реальному netstorage. Все, что я хочу сделать, это проверитьчтобы узнать, был ли вызван ns.dir.

error: getaddrinfo ENOTFOUND a a:80 {"errno":"ENOTFOUND","code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"a","host":"a","port":80}

Может кто-нибудь помочь, пожалуйста?

...