aboutsummaryrefslogtreecommitdiff
path: root/webAO/__tests__
diff options
context:
space:
mode:
Diffstat (limited to 'webAO/__tests__')
-rw-r--r--webAO/__tests__/setEmote.test.js140
1 files changed, 140 insertions, 0 deletions
diff --git a/webAO/__tests__/setEmote.test.js b/webAO/__tests__/setEmote.test.js
new file mode 100644
index 0000000..3a4a521
--- /dev/null
+++ b/webAO/__tests__/setEmote.test.js
@@ -0,0 +1,140 @@
+import setEmote from "../client/setEmote.ts";
+import Client from "../client.ts";
+import fileExists from "../utils/fileExists.ts";
+import transparentPng from "../constants/transparentPng.js";
+
+jest.mock("../viewport/utils/createMusic");
+jest.mock("../utils/fileExists");
+jest.mock("../viewport/utils/createSfxAudio");
+jest.mock("../viewport/utils/createShoutAudio");
+jest.mock("../viewport/utils/createTestimonyAudio");
+describe("setEmote", () => {
+ const AO_HOST = "";
+
+ const client = new Client("127.0.0.1");
+ const firstExtension = ".gif";
+
+ test("Should have a client_def_char_img with a valid source", async () => {
+ fileExists.mockReturnValue(true);
+ document.body.innerHTML = `
+ <img id="client_def_char_img" />
+ `;
+ await setEmote(AO_HOST, client, "salanto", "coding", "(a)", 0, "def");
+ const expected = `http://localhost/characters/salanto/(a)coding${firstExtension}`;
+ expect(document.getElementById("client_def_char_img").src).toEqual(
+ expected,
+ );
+ });
+ test("Should have a client_pro_char_img to have a valid src", async () => {
+ document.body.innerHTML = `
+ <img id="client_pro_char_img" />
+
+ `;
+ await setEmote(AO_HOST, client, "salanto", "coding", "(a)", 0, "pro");
+ const expected = `http://localhost/characters/salanto/(a)coding${firstExtension}`;
+ expect(document.getElementById("client_pro_char_img").src).toEqual(
+ expected,
+ );
+ });
+ test("Should have a client_wit_char_img", async () => {
+ document.body.innerHTML = `
+ <img id="client_wit_char_img" />
+ `;
+ await setEmote(AO_HOST, client, "salanto", "coding", "(a)", 0, "wit");
+ const expected = `http://localhost/characters/salanto/(a)coding${firstExtension}`;
+
+ expect(document.getElementById("client_wit_char_img").src).toEqual(
+ expected,
+ );
+ });
+ test("Should have a client_def_pair_img", async () => {
+ document.body.innerHTML = `
+<img id="client_def_pair_img" />
+
+`;
+ await setEmote(AO_HOST, client, "salanto", "coding", "(a)", 1, "def");
+ const expected = `http://localhost/characters/salanto/(a)coding${firstExtension}`;
+
+ expect(document.getElementById("client_def_pair_img").src).toEqual(
+ expected,
+ );
+ });
+ test("Should have a client_pro_pair_img", async () => {
+ document.body.innerHTML = `
+<img id="client_pro_pair_img" />
+
+`;
+ await setEmote(AO_HOST, client, "salanto", "coding", "(a)", 1, "pro");
+ const expected = `http://localhost/characters/salanto/(a)coding${firstExtension}`;
+
+ expect(document.getElementById("client_pro_pair_img").src).toEqual(
+ expected,
+ );
+ });
+ test("Should have a client_wit_pair_img", async () => {
+ document.body.innerHTML = `
+<img id="client_wit_pair_img" />
+
+`;
+ await setEmote(AO_HOST, client, "salanto", "coding", "(a)", 1, "wit");
+ const expected = `http://localhost/characters/salanto/(a)coding${firstExtension}`;
+
+ expect(document.getElementById("client_wit_pair_img").src).toEqual(
+ expected,
+ );
+ });
+ test("Should have a client_char_img", async () => {
+ document.body.innerHTML = `
+ <img id="client_char_img" />
+
+ `;
+ await setEmote(AO_HOST, client, "salanto", "coding", "(a)", 0, "notvalid");
+ const expected = `http://localhost/characters/salanto/(a)coding${firstExtension}`;
+
+ expect(document.getElementById("client_char_img").src).toEqual(expected);
+ });
+ test("Should have a client_pair_img", async () => {
+ document.body.innerHTML = `
+ <img id="client_pair_img" />
+ `;
+ await setEmote(AO_HOST, client, "salanto", "coding", "(a)", 1, "notvalid");
+ const expected = `http://localhost/characters/salanto/(a)coding${firstExtension}`;
+
+ expect(document.getElementById("client_pair_img").src).toEqual(expected);
+ });
+ test("Should handle .png urls differently", async () => {
+ fileExists.mockReturnValueOnce(false);
+ document.body.innerHTML = `
+ <img id="client_pair_img" />
+ `;
+ await setEmote(
+ AO_HOST,
+ client,
+ "salanto",
+ "coding",
+ "prefixNotValid",
+ 1,
+ "notvalid",
+ );
+ const expected = "http://localhost/characters/salanto/coding.png";
+
+ expect(document.getElementById("client_pair_img").src).toEqual(expected);
+ });
+ test("Should replace character if new character responds", async () => {
+ fileExists.mockReturnValue(false);
+ document.body.innerHTML = `
+ <img id="client_pair_img" />
+ `;
+ await setEmote(
+ AO_HOST,
+ client,
+ "salanto",
+ "coding",
+ "prefixNotValid",
+ 1,
+ "notvalid",
+ );
+ const expected = transparentPng;
+ expect(document.getElementById("client_pair_img").src).toEqual(expected);
+ });
+});