forked from cmseaton42/node-ethernet-ip
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathcontroller.spec.js
More file actions
66 lines (49 loc) · 1.72 KB
/
Copy pathcontroller.spec.js
File metadata and controls
66 lines (49 loc) · 1.72 KB
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
const Controller = require("./index");
describe("Controller Class", () => {
describe("Properties Accessors", () => {
it("Scan Rate", () => {
const plc = new Controller();
expect(plc.scan_rate).toBe(200);
plc.scan_rate = 450;
expect(plc.scan_rate).not.toBe(200);
expect(plc.scan_rate).toBe(450);
plc.scan_rate = 451.9999999;
expect(plc.scan_rate).not.toBe(450);
expect(plc.scan_rate).toBe(451);
expect(() => {
plc.scan_rate = null;
}).toThrow();
expect(() => {
plc.scan_rate = undefined;
}).toThrow();
expect(() => {
plc.scan_rate = "hello";
}).toThrow();
});
it("Scanning", () => {
const plc = new Controller();
expect(plc.scanning).toBeFalsy();
plc.scan();
expect(plc.scanning).toBeTruthy();
plc.pauseScan();
expect(plc.scanning).toBeFalsy();
});
it("Controller Properties", () => {
const plc = new Controller();
expect(plc.properties).toMatchSnapshot();
});
it("Time", () => {
const plc = new Controller();
plc.state.controller.time = new Date("January 5, 2016");
expect(plc.time).toMatchSnapshot();
});
});
describe("Add Templates Method", () => {
it("Should add templates", () => {
const plc = new Controller();
expect(plc.templates).not.toHaveProperty("udt");
plc.addTemplate({name: "udt"});
expect(plc.templates).toHaveProperty("udt");
});
});
});