UNPKG

@twofistedjustice/square-pie

Version:

an easy to use class based chainable interface for the Square API.

95 lines (85 loc) 3.05 kB
"use strict"; // const should = require("chai").should(); // const sample_objects = require("./data_preparation/sample_catalog_data"); // const Catalog_Upsert = require("../src/lib/catalog_request_upsert"); const Catalog_List = require("../src/lib/catalog_request_list"); const Catalog_Retreive = require("../src/lib/catalog_request_retrieve"); const Catalog_Delete = require("../src/lib/catalog_request_delete"); // const Catalog_Search_Filter = require("../src/lib/catalog_request_search_objects_filter"); // const Catalog_Search_Items = require("../src/lib/catalog_request_search_items"); // const {expect} = require ("chai"); // tack on .only to this empty test to silence all other tests describe.only("silence test suite", () => { test("Should silence async customer tests", () => { expect("a").toEqual("a"); }); }); describe("Catalog Request Upsert", () => { test("", () => { expect("").toEqual(""); }); // refactored on 12/2/21 to eliminate need for this // test("Should have 'object' property when upserting a single document", () => { // const upsert = new Catalog_Upsert(); // upsert.make().body(sample_objects.single); // let received = upsert.body; // // expect(Object.prototype.hasOwnProperty.call(received, "object")).toEqual( // true // ); // }); }); describe("Catalog Request List", () => { let list; beforeEach(() => { list = new Catalog_List(); }); test("Should fetch the list of Catalog Objects", async () => { await list.request(); list.delivery.should.be.an("Array"); }); }); describe("Catalog Request Retrieve", () => { const cache = []; test("Should retrieve a single object", async () => { let list = new Catalog_List(); await list.request(); let arr = list.delivery; arr.forEach((doohickey) => { cache.push(doohickey.id); }); let retrieve = new Catalog_Retreive(); retrieve.make().object_ids(cache[0]); await retrieve.request(); expect(retrieve.delivery.objects[0].id).toEqual(cache[0]); }); test("Should retrieve multiple objects", async () => { let retrieve = new Catalog_Retreive(); retrieve.make().object_ids(cache[0]); retrieve.get(cache[1]); await retrieve.request(); expect(retrieve.delivery.objects[1].id).toEqual(cache[1]); }); }); describe("Catalog Request Delete", () => { test("Should delete the specified objects", async () => { let del = new Catalog_Delete(); let catList = new Catalog_List(); let ids = []; await catList.request(); let list = catList.delivery; if (list.length >= 1) { ids.push(list[0].id); ids.push(list[1].id); } else { throw new Error( "Failed in Catalog Delete. Not enough items returned by List." ); } del.nix(ids[0]).disintegrate(ids[1]); await del.request(); let deleted = del.delivery; deleted.deleted_object_ids.should.be.an("Array").that.includes(list[0].id); deleted.deleted_object_ids.should.be.an("Array").that.includes(list[1].id); }); });