@twofistedjustice/square-pie
Version:
an easy to use class based chainable interface for the Square API.
95 lines (85 loc) • 3.05 kB
JavaScript
;
// 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);
});
});