aboutsummaryrefslogtreecommitdiff
path: root/webAO
diff options
context:
space:
mode:
Diffstat (limited to 'webAO')
-rw-r--r--webAO/client.js1
-rw-r--r--webAO/client/__tests__/setEmote.test.js115
2 files changed, 116 insertions, 0 deletions
diff --git a/webAO/client.js b/webAO/client.js
index 34a1b4b..a78eeb1 100644
--- a/webAO/client.js
+++ b/webAO/client.js
@@ -3125,3 +3125,4 @@ export function toggleShout(shout) {
}
}
window.toggleShout = toggleShout;
+export default Client \ No newline at end of file
diff --git a/webAO/client/__tests__/setEmote.test.js b/webAO/client/__tests__/setEmote.test.js
new file mode 100644
index 0000000..d81c2cc
--- /dev/null
+++ b/webAO/client/__tests__/setEmote.test.js
@@ -0,0 +1,115 @@
+import setEmote from '../setEmote';
+import Client from '../../client';
+import fileExistsSync from '../../utils/fileExistsSync';
+import transparentPng from '../../constants/transparentPng';
+
+jest.mock('../../client');
+jest.mock('../../utils/fileExistsSync');
+
+describe('setEmote', () => {
+ const AO_HOST = '';
+ Client.mockReturnValue({
+ lastChar: 'long',
+ chatmsg: {
+ name: 'byte',
+ },
+ });
+ const client = new Client('127.0.0.1');
+ const firstExtension = '.gif';
+
+ test('Should have a client_def_char_img with a valid source', () => {
+ fileExistsSync.mockReturnValue(true);
+ document.body.innerHTML = `
+ <img id="client_def_char_img" />
+ `;
+ 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', () => {
+ document.body.innerHTML = `
+ <img id="client_pro_char_img" />
+
+ `;
+ 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', () => {
+ document.body.innerHTML = `
+ <img id="client_wit_char_img" />
+ `;
+ 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', () => {
+ document.body.innerHTML = `
+<img id="client_def_pair_img" />
+
+`;
+ 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', () => {
+ document.body.innerHTML = `
+<img id="client_pro_pair_img" />
+
+`;
+ 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', () => {
+ document.body.innerHTML = `
+<img id="client_wit_pair_img" />
+
+`;
+ 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', () => {
+ document.body.innerHTML = `
+ <img id="client_char_img" />
+
+ `;
+ 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', () => {
+ document.body.innerHTML = `
+ <img id="client_pair_img" />
+ `;
+ 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', () => {
+ fileExistsSync.mockReturnValueOnce(false);
+ document.body.innerHTML = `
+ <img id="client_pair_img" />
+ `;
+ 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', () => {
+ fileExistsSync.mockReturnValue(false);
+ document.body.innerHTML = `
+ <img id="client_pair_img" />
+ `;
+ setEmote(AO_HOST, client, 'salanto', 'coding', 'prefixNotValid', 1, 'notvalid');
+ const expected = transparentPng;
+ expect(document.getElementById('client_pair_img').src).toEqual(expected);
+ });
+});