Когда Jest не сможет импортировать пакет? - PullRequest
0 голосов
/ 03 августа 2020

Я пишу сервис для выполнения различных запросов MS Graph API, которые подключаются к уже существующему приложению React. Для этого я использую Microsoft Authentication Library (MSAL) для аутентификации. Я заставляю приложение и функцию работать без сбоев. Проблема в том, что когда я пытаюсь запустить набор тестов (Jest), он терпит неудачу. Тест, который не прошел, очень базовый c.

OurComponent / ourComponent.test. js

import React from "react";
import ReactDOM from "react-dom";
import OurComponent from "./index";

it("renders without crashing", () => {
  const div = document.createElement("div");
  const props = {
    unitId: "1"
  };
  ReactDOM.render(
    <OurComponent {...props}>
      {(state, CompentActions) => {
        return <div />;
      }}
    </OurComponent >,
    div
  );
});

Мои знания Jest очень базовые c, но я так понимаю просто утверждает, может ли компонент монтироваться.

Компонент импортирует и использует мою функцию следующим образом:

OurComponent / index.jsx

import * as MyService from "./ServiceFolder/MyService";
/*
Rest of the component
*/
async addData(newData){
  let msg = await MyService.addData(newData);
/*
Rest of the function*/

}

И сервис выглядит так : OurComponent / ServiceFolder / MyService.jsx

import config from "config.js";
import { UserAgentApplication } from "msal";

const userAgentApplication = new UserAgentApplication(config);

export async function addData(newData){
//Do some stuff
}
/*
Rest of the service
*/

Я получаю следующую ошибку:

Test suite failed to run

    TypeError: Cannot read property 'indexOf' of undefined

      4 | 
    > 5 | const userAgentApplication = new UserAgentApplication(config);
        |                              ^
      6 | 

      at Function.Object.<anonymous>.UrlUtils.getHashFromUrl (node_modules/msal/src/utils/UrlUtils.ts:229:48)
      at Function.Object.<anonymous>.UrlUtils.deserializeHash (node_modules/msal/src/utils/UrlUtils.ts:260:31)
      at Function.Object.<anonymous>.UrlUtils.urlContainsHash (node_modules/msal/src/utils/UrlUtils.ts:245:37)
      at new UserAgentApplication (node_modules/msal/src/UserAgentApplication.ts:240:42)
      at Object.<anonymous> (js/lib/components/OurComponent/ServiceFolder/MyService.jsx:5:30)
      at Object.<anonymous> (js/lib/components/OurComponent/index.jsx:9:1)
      at Object.<anonymous> (js/lib/components/OurComponent/ourComponent.test.js:3:1)

Мне трудно понять, что может вызвать эту ошибку. Есть ли у кого-нибудь мысли о том, что я пропустил, или намеки на то, что мне делать?

...