UNPKG

yoomoney-sdk

Version:

⭐ Typed YooMoney Wallet SDK for NodeJS. Supported API's: Auth, Wallet & Notifications

107 lines (96 loc) 3.13 kB
import { test, describe } from "vitest"; import { PaymentFormBuilder, PaymentType } from "../payment-form-builder"; import { testHtml } from "./html"; describe(PaymentFormBuilder.name, () => { test("Base", () => { const builder = new PaymentFormBuilder({ paymentType: PaymentType.FromCard, sum: 10.055_666, receiver: "", quickPayForm: "small", targets: "aboba" }); testHtml(builder.buildHtml(), { "quickpay-form": "small", paymentType: "AC", receiver: "", sum: "10.055666", targets: "aboba", "need-address": false, "need-email": false, "need-fio": false, "need-phone": false, "short-dest": undefined, comment: undefined, formcomment: undefined, label: undefined, successURL: undefined }); }); test("Setters", () => { const builder = new PaymentFormBuilder(); testHtml(builder.setAmount("1.056606").buildHtml(), { sum: "1.06" }); testHtml(builder.setAmount(10.056).buildHtml(), { sum: "10.06" }); { testHtml(builder.buildHtml(), { "need-address": false }); testHtml(builder.requireAddress().buildHtml(), { "need-address": true }); testHtml(builder.requireAddress(true).buildHtml(), { "need-address": true }); testHtml(builder.requireAddress(false).buildHtml(), { "need-address": false }); } { testHtml(builder.buildHtml(), { "need-email": false }); testHtml(builder.requireEmail().buildHtml(), { "need-email": true }); testHtml(builder.requireEmail(true).buildHtml(), { "need-email": true }); testHtml(builder.requireEmail(false).buildHtml(), { "need-email": false }); } { testHtml(builder.buildHtml(), { "need-fio": false }); testHtml(builder.requireFio().buildHtml(), { "need-fio": true }); testHtml(builder.requireFio(true).buildHtml(), { "need-fio": true }); testHtml(builder.requireFio(false).buildHtml(), { "need-fio": false }); } { testHtml(builder.buildHtml(), { "need-phone": false }); testHtml(builder.requirePhone().buildHtml(), { "need-phone": true }); testHtml(builder.requirePhone(true).buildHtml(), { "need-phone": true }); testHtml(builder.requirePhone(false).buildHtml(), { "need-phone": false }); } { testHtml(builder.buildHtml(), { receiver: "" }); testHtml(builder.setReceiver(4_100_117_723_869_225).buildHtml(), { receiver: "4100117723869225" }); testHtml(builder.setReceiver("4100117723869225").buildHtml(), { receiver: "4100117723869225" }); } { testHtml(builder.buildHtml(), { successURL: undefined }); testHtml(builder.setSuccessURL("https://example.com/success").buildHtml(), { successURL: "https://example.com/success" }); testHtml( builder.setSuccessURL(new URL("https://example.com/success")).buildHtml(), { successURL: "https://example.com/success" } ); } }); });