-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathGetItem.test.js
More file actions
36 lines (26 loc) · 1006 Bytes
/
GetItem.test.js
File metadata and controls
36 lines (26 loc) · 1006 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
const expect = require("chai").expect;
const sinon = require("sinon");
const {DOMParser} = require("xmldom");
const fetch = require("./fetch");
const encode64 = require("./encode64");
const fakersm = require("./fake").response;
const getItem = require("./GetItem");
const RSM_GETITEM_PATH = "/AppController/commands_RSM/api/api_getItem.php";
const RSM_HOST = "https://localhost"
describe("RSM GetItem", () => {
let sandbox = sinon.createSandbox();
afterEach(() => sandbox.restore());
it("fetches correctly", async () => {
const stub = sandbox.stub(fetch, "fetch")
.resolves(new DOMParser()
.parseFromString(
fakersm([{"1337": "Nice", "42": "wat"}])));
const response = await getItem("fakeapi", RSM_HOST, "54").fetch("3");
expect(response).to.deep.equal([{"1337": "Nice", "42": "wat"}]);
expect(stub.calledOnceWithExactly(RSM_HOST, RSM_GETITEM_PATH, {
RStoken: "fakeapi",
itemTypeID: "54",
itemID: "3",
})).to.be.true;
});
});