Release Healer Man 0.1.16
This commit is contained in:
1 parent
f49e54f35f
commit
b57d2b2839
89 files changed
+6055
-17
No files matched your search
@@ -147,6 +147,69 @@ test("serves the game and authenticated cloud-save API", async () => {
|
||||
assert.equal(memberSession.players.length, 2);
|
||||
assert.equal(memberSession.events[0].targetActorId, "boss");
|
||||
|
||||
const leftGroup = await fetch(`${origin}/api/online-group/leave`, {
|
||||
method: "POST",
|
||||
headers: { Authorization: `Bearer ${auth.token}` },
|
||||
});
|
||||
assert.equal(leftGroup.status, 200);
|
||||
const arenaCharacter = {
|
||||
id: "web-healer", name: "Mendara", classId: "priest", categoryId: "wow",
|
||||
specializationId: "priest:discipline", raceId: "human", gender: "female", level: 80,
|
||||
talentRanks: {}, actionBindings: {}, inventory: [], equipment: {},
|
||||
};
|
||||
const arenaSave = await fetch(`${origin}/api/cloud-save`, {
|
||||
method: "PUT",
|
||||
headers: { "Content-Type": "application/json", Authorization: `Bearer ${auth.token}` },
|
||||
body: JSON.stringify({ data: { version: 1, characters: [arenaCharacter] } }),
|
||||
});
|
||||
assert.equal(arenaSave.status, 200);
|
||||
const loadout = await fetch(`${origin}/api/arena/loadouts/1`, {
|
||||
method: "PUT",
|
||||
headers: { "Content-Type": "application/json", Authorization: `Bearer ${auth.token}` },
|
||||
body: JSON.stringify({
|
||||
characterId: arenaCharacter.id, name: "Discipline PvP", classId: "priest",
|
||||
specializationId: "priest:discipline", role: "healer", ruleset: "wow",
|
||||
talents: {}, actions: {}, selected: true,
|
||||
}),
|
||||
});
|
||||
assert.equal(loadout.status, 200);
|
||||
assert.equal((await loadout.json()).level, 80);
|
||||
const arenaState = await (await fetch(`${origin}/api/arena/state?characterId=${arenaCharacter.id}`, {
|
||||
headers: { Authorization: `Bearer ${auth.token}` },
|
||||
})).json();
|
||||
assert.equal(arenaState.stages.length, 8);
|
||||
assert.equal(arenaState.stages.every((stage) => stage.validation.status === "validated"), true);
|
||||
|
||||
const socketTicket = await (await fetch(`${origin}/api/arena/socket-ticket`, {
|
||||
method: "POST",
|
||||
headers: { Authorization: `Bearer ${auth.token}` },
|
||||
})).json();
|
||||
const socket = new WebSocket(`${origin.replace("http:", "ws:")}${socketTicket.path}?ticket=${socketTicket.ticket}`);
|
||||
const messages = [];
|
||||
socket.addEventListener("message", (event) => messages.push(JSON.parse(String(event.data))));
|
||||
await new Promise((resolve, reject) => {
|
||||
socket.addEventListener("open", resolve, { once: true });
|
||||
socket.addEventListener("error", reject, { once: true });
|
||||
});
|
||||
const arenaQueue = await fetch(`${origin}/api/arena/queue`, {
|
||||
method: "POST",
|
||||
headers: { "Content-Type": "application/json", Authorization: `Bearer ${auth.token}` },
|
||||
body: JSON.stringify({ characterId: arenaCharacter.id, loadoutSlot: 1, bracket: "2v2", mode: "rated-ai", ruleset: "wow" }),
|
||||
});
|
||||
assert.equal(arenaQueue.status, 201);
|
||||
assert.equal((await arenaQueue.json()).status, "ready-check");
|
||||
const arenaReady = await fetch(`${origin}/api/arena/ready`, {
|
||||
method: "POST",
|
||||
headers: { Authorization: `Bearer ${auth.token}` },
|
||||
});
|
||||
assert.equal(arenaReady.status, 200);
|
||||
assert.equal((await arenaReady.json()).status, "matched");
|
||||
await new Promise((resolve) => setTimeout(resolve, 25));
|
||||
assert.equal(messages.some((message) => message.type === "connected"), true);
|
||||
assert.equal(messages.some((message) => message.type === "ready-check"), true);
|
||||
assert.equal(messages.some((message) => message.type === "match-start"), true);
|
||||
socket.close();
|
||||
|
||||
const gmRegistration = await fetch(`${origin}/api/auth/register`, {
|
||||
method: "POST",
|
||||
headers: { "Content-Type": "application/json" },
|
||||
|
||||
Reference in new issue
Block a user