Кнопка тестирования Paypal в React (жасмин и фермент) - PullRequest
1 голос
/ 14 января 2020

Я использую кнопку 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 узнаваема в моем тесте компонентов.

...