Я использую кнопку PayPal в моем компоненте. вот.
export const PayPalSecureMessage = (props: TProps) => {
const PayPalButton = paypal.Buttons.driver("react", { React, ReactDOM });
const createOrder = async (data, actions) => {};
const onAuthorize = async (data, actions) => {};
return (
<>
<PayPalButton
env="sandbox"
commit={false}
tagline={false}
funding={{ disallowed: [paypal.FUNDING.CREDIT] }}
createOrder={createOrder}
onApprove={onAuthorize}
client={{
sandbox:
"ASmWKJfGIEy34343423333wrfrgfhthfgvgdfbvfg"
}}
/>
</>
);
};
Мне сложно протестировать эту строку кода в вышеуказанном компоненте.
const PayPalButton = paypal.Buttons.driver("react", { React, ReactDOM });
Вот базовый c тест, в котором я просто сопоставляю снимок.
import React from "react";
import ReactDOM from "react-dom";
import { PayPalSecureMessage } from "./paypal-secure-message";
import { shallow } from "enzyme";
describe("should render component", () => {
it("should render component correctly", () => {
const tree = shallow(<PayPalSecureMessage />);
expect(tree).toMatchSnapshot();
});
});
Когда я запускаю этот тестовый пример, я получаю эту ошибку ... Может ли кто-нибудь помочь мне, как сделать это.
ReferenceError: paypal is not defined
Ps - это скрипт, который я запускаю для того, чтобы PayPal заработал https://www.paypalobjects.com/api/checkout.js
Я не уверен как загрузить этот скрипт и убедиться, что кнопка payal узнаваема в моем тесте компонентов.