Как издеваться над импортированными константами с помощью Jest - PullRequest
0 голосов
/ 22 октября 2018

У меня есть метод отображения мыла, который я хочу проверить.Мыльные вызовы должны быть смоделированы, но я не могу понять, как это сделать.

Это метод карты, который я хочу проверить:

import LovSoapCaller from './lovSoapCaller';

const lovOptinSoap = new LovSoapCaller('getAllOptinTypes');

class ScrSoapMapping extends SoapWSMapping {
  map(args) {
    const customerNumber = +args.shift();
    const result = lovOptinSoap.callWS(customerNumber);
    return result.optinValue;
  }
}

Объект, который я хочу смоделировать, этоlovOptinSoap чтобы он что-то возвращал без вызова мыльного веб-сервиса.Я нашел примеры, чтобы имитировать импорт, но я думаю, что это сложно, потому что я не экспортирую объект в LovSoapCaller:

class LovSoapCaller extends SoapCaller {
  constructor(method) {
    super(URL, method, mapping);
  }

  callWS(lang) {
    const params = {
      language: lang,
    };
    return super.call(params);
  }
}

export default LovSoapCaller; 

Я пытался с помощью метода Jest spyOn(), но не получаюкак я могу «впрыснуть» мой поддельный (или подсматриваемый) объект ...

1 Ответ

0 голосов
/ 26 октября 2018

Вы можете добавить constructor (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/constructor) к вашему классу. После этого вы сможете передать lovOptinSoap в этот конструктор.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...