-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathindex.spec.js
104 lines (86 loc) · 2.73 KB
/
index.spec.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
104
"use strict";
describe("GIVEN chef is provided", () => {
it("THEN requiring the library does not throw an error", () => {
require(".");
});
describe("WHEN it is instantiated", () => {
it("THEN it should initialize without throwing error", () => {
const startChef = require(".");
expect(() => startChef({ folder: "demo", port: 3001 })).not.toThrow();
});
it("THEN initialization should return a truthy instance", async () => {
const startChef = require(".");
expect(await startChef({ folder: "demo", port: 3002 })).toBeTruthy();
});
});
describe("WHEN chef is initialized in ssl mode", () => {
it("THEN it should not throw error", async () => {
const startChef = require(".");
const api = await startChef({
debug: true,
ssl: {
key: "node_modules/chef-core/ssl/example.key",
cert: "node_modules/chef-core/ssl/example.crt",
},
folder: "demo",
port: 3010,
});
expect(api).toBeTruthy();
});
});
describe("WHEN chef is initialized in debug mode", () => {
it("THEN it should not throw error", async () => {
const startChef = require(".");
const api = await startChef({
folder: "demo",
debug: true,
port: 3003,
});
expect(api).toBeTruthy();
});
});
describe("WHEN chef is run on demo folder", () => {
it("THEN it should not throw error", async () => {
const startChef = require(".");
const test = async () =>
await startChef({ debug: true, folder: "demo", port: 3004 });
expect(test).not.toThrow();
});
});
describe("WHEN chef is initialized on specified port", () => {
it("THEN it should start without error", async () => {
const startChef = require(".");
const server = await startChef({ folder: "demo", port: 8080 });
expect(server).toBeTruthy();
});
});
describe("WHEN chef is initialized with plugin", () => {
it("THEN it should start without error", (done) => {
const startChef = require(".");
const config = require("chef-core/config");
startChef({
folder: "demo",
port: 4200,
plugins: {
chat: function () {
done();
},
},
}).then(() => {
const io = require("socket.io-client");
const socket = new io("ws://localhost:4200", {
transports: ["websocket"],
});
socket.onAny((event, id, data) => {
expect(data).toBeTruthy();
expect(id).toBeTruthy();
expect(event).toBe(config.join);
socket.close();
});
socket.on("connect", () => {
socket.emit(config.join, "chat");
});
});
});
});
});