35 lines
949 B
JavaScript
35 lines
949 B
JavaScript
// Socket.IO 端對端冒煙測試:連上後端 -> createRoom -> 收到 roomCreated 即成功。
|
|
// 使用:需先有伺服器在 http://localhost:3000 執行。
|
|
const { io } = require("../client/node_modules/socket.io-client");
|
|
|
|
const socket = io("http://localhost:3000", {
|
|
transports: ["websocket"],
|
|
reconnection: false,
|
|
timeout: 6000,
|
|
});
|
|
|
|
let done = false;
|
|
|
|
socket.on("connect", () => {
|
|
console.log("[OK] socket connected, id =", socket.id);
|
|
socket.emit("createRoom");
|
|
});
|
|
|
|
socket.on("roomCreated", (room) => {
|
|
console.log("[OK] roomCreated -> roomId=", room.id, "status=", room.status, "players=", room.players.length);
|
|
done = true;
|
|
socket.close();
|
|
process.exit(0);
|
|
});
|
|
|
|
socket.on("connect_error", (e) => {
|
|
console.error("[FAIL] connect_error:", e.message);
|
|
process.exit(1);
|
|
});
|
|
|
|
setTimeout(() => {
|
|
if (!done) {
|
|
console.error("[FAIL] 8 秒內未收到 roomCreated(逾時)");
|
|
process.exit(1);
|
|
}
|
|
}, 8000); |