import { expect } from "chai"; import "mocha"; import { Token, TokenAmount } from "../Tokens"; import { PaymentRequest } from "./PaymentRequest"; import TestData from "../../tests/data/PaymentRequestData"; import TestWalletInfo from "../../tests/data/WalletInfoData"; import BigNumber from "bignumber.js"; import { EOA } from "../wallet"; import { ChainId } from "../constants"; describe("PaymentRequest Object", () => { const walletInfo = TestWalletInfo.wallets[0]; it("Can be fetched", async () => { const [request_info] = TestData.requests; const request = await PaymentRequest.fetch( request_info.id, (address: string) => new Token(request_info.chain, address, 18) ); expect(request.info.id).to.equal(request_info.id); expect(request.info.amount.scaledAmount).to.eq(request_info.scaledAmount); expect(request.info.payee).to.equal(request_info.payee); expect(request.info.payer).to.equal(request_info.payer); }); it("Can be created", async () => { const [request_info] = TestData.requestCreations; const amount = new TokenAmount( new Token(request_info.chain, request_info.token, 18), new BigNumber(request_info.amount) ); const wallet = new EOA("0xbeef", ChainId.Alfajores, walletInfo.eoa); await wallet._loadWallet({ mnemonic: walletInfo.mnemonic }); const request = await PaymentRequest.create( request_info.payee, request_info.payer, amount, wallet ); expect(request.info.id).to.be.greaterThan(0); expect(request.info.amount.scaledAmount).to.equal(amount.scaledAmount); }); });