@twofistedjustice/square-pie
Version:
an easy to use class based chainable interface for the Square API.
96 lines (79 loc) • 3.1 kB
JavaScript
const Order_Pay = require("../src/lib/order_request_pay");
const { long_strings } = require("./helper_objects");
const { helper_arrays } = require("./helper_arrays");
/* --------------------------------------------------------*
* *
* Order_Pay
* *
* ------------------------------------------------------- */
describe("Order_Pay", () => {
let pay;
let id = "some_order";
let method = "POST"; //http method from Square docs
beforeEach(() => {
pay = new Order_Pay(id);
});
test("Order_Pay should set endpoint", () => {
expect(pay.endpoint).toEqual(`/${id}/pay`);
});
test('Order_Pay should have a display name "Order_Pay"', () => {
expect(pay._display_name).toEqual("Order_Pay");
});
test("should have the method defined by Square", () => {
expect(pay.method).toEqual(method);
});
test("Order_Pay should have a _body property", () => {
expect(pay.body).toBeDefined();
});
test("make().payment_ids() should push to the payment_ids array", () => {
let expected = ["one", "two", "three"];
pay.make().payment_ids("one").payment_ids("two").payment_ids("three");
expect(pay.payment_ids).toMatchObject(expected);
});
test("make.pay() should push to the payment_ids array", () => {
let expected = ["one", "two", "three"];
pay.make().pay("one").pay("two").pay("three");
expect(pay.payment_ids).toMatchObject(expected);
});
test("Order_Pay should set and retrieve an order version", () => {
let ver = 12;
pay.make().order_version(ver);
expect(pay.order_version).toEqual(ver);
});
test("Order_Pay should have a Square Version key: value", () => {
expect(pay.square_version).toBeDefined();
});
test("Order_Pay should set id from constructor", () => {
let charge = new Order_Pay(id);
expect(charge.order_id).toEqual(id);
});
test("Order_Pay make() should set new id", () => {
pay.make().order_id("cousin mikey");
expect(pay.order_id).toEqual("cousin mikey");
});
test("Order_Pay make() should set new id", () => {
pay.make().order("cousin mikey");
expect(pay.order_id).toEqual("cousin mikey");
});
test("Order_Pay should set new id using setter", () => {
pay.order_id = "cousin mikey";
expect(pay.order_id).toEqual("cousin mikey");
});
test("Order_Pay should respect idempotency key length restriction 192", () => {
expect(() => {
pay.idempotency_key(long_strings.len_193);
}).toThrow();
});
test("Order_Pay should set idempotency key ", () => {
let key = "There will be no disintegrations!";
pay.make().idempotency_key(key);
expect(pay.idempotency_key).toEqual(key);
});
test("Order_Pay should concatenate an array of ids", () => {
let expected = ["A", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10"];
let make = pay.make();
make.payment_ids("A");
make.concat_payments(helper_arrays.len_10);
expect(pay.payment_ids).toEqual(expected);
});
});