Я пишу сервис для выполнения различных запросов 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)
Мне трудно понять, что может вызвать эту ошибку. Есть ли у кого-нибудь мысли о том, что я пропустил, или намеки на то, что мне делать?