-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest.js
103 lines (93 loc) · 2.83 KB
/
test.js
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
//import { sendDataset } from "./index.js";
const sendDataset = require("./index").sendDataset;
const datasetCollector = require("./index").datasetCollector;
const axios = require("axios");
jest.mock("axios");
const fakeDataset_One = {
start: 1595506316,
end: 1595506319,
name: "fakeDataset_One",
timeSeries: [
{
data: [
{ timestamp: 1595506316, datapoint: 1 },
{ timestamp: 1595506317, datapoint: 2 },
{ timestamp: 1595506318, datapoint: 3 },
{ timestamp: 1595506319, datapoint: 4 },
],
offset: 0,
name: "u1",
unit: "t1",
start: 1595506316,
end: 1595506319,
samplingRate: 2,
},
],
};
afterEach(() => {
jest.resetAllMocks();
});
it("Sending whole dataset", async () => {
axios.post.mockImplementation(() =>
Promise.resolve({ data: { message: "Generated dataset" } })
);
var collector = await sendDataset(
"fakeURL",
"vHyedy6rmackO+Iz1T5+Hoznxvy+hVYq/Rwb6pFboeJxi9mioR+Evoz9KEOmSm2Avlv/HkQeZinrwqK0GlDp+Q==",
fakeDataset_One
);
expect(collector).toEqual("Generated dataset");
});
describe("sending dataset in increments", () => {
axios.post.mockImplementation(() => Promise.reject({ error: "fakeError" }));
it("Error creating datasetCollector", async () => {
var collector = await datasetCollector(
"fakeURL",
"Y8JCElwgmcFmDctyT3pV5OGnZU/nWIMF4EQLhLkYSQ6ZTaOhUD7ijVCln8KKU++B57XsmX1uQd/U76vpdIsHow=?",
"testDataset",
false
);
expect(collector.error).not.toEqual(undefined);
});
it("Error sending single datapoints", async () => {
axios.post.mockImplementationOnce(() =>
Promise.resolve({ data: { datasetKey: "fakeDeviceKey" } })
);
var collector = await datasetCollector(
"fakeURL",
"Y8JCElwgmcFmDctyT3pV5OGnZU/nWIMF4EQLhLkYSQ6ZTaOhUD7ijVCln8KKU++B57XsmX1uQd/U76vpdIsHow==",
false
);
expect(collector.error).toEqual(undefined);
axios.post.mockReturnValue(Promise.reject("fakeError"));
try {
collector.addDataPoint(1618760114000, "accX", 1);
collector.onComplete();
} catch (e) {
console.log("Testerror")
expect(e).toMatch("fakeError");
}
});
it("Everything works as expected", async () => {
axios.post.mockImplementationOnce(() =>
Promise.resolve({ data: { datasetKey: "fakeDeviceKey" } })
);
var collector = await datasetCollector(
"fakeURL",
"Y8JCElwgmcFmDctyT3pV5OGnZU/nWIMF4EQLhLkYSQ6ZTaOhUD7ijVCln8KKU++B57XsmX1uQd/U76vpdIsHow==",
false
);
expect(collector.error).toEqual(undefined);
axios.post.mockImplementation(() =>
Promise.resolve({ data: { message: "Added data" } })
);
try {
for (var i = 0; i < 10; i++) {
collector.addDataPoint(1618760114000, "accX", 1);
}
collector.onComplete();
} catch (e) {
fail(e);
}
});
});