workadventure/front/tests/Phaser/Connexion/LocalUserTest.ts

49 lines
1.6 KiB
TypeScript

import "jasmine";
import {areCharacterLayersValid, isUserNameValid, maxUserNameLength} from "../../../src/Connexion/LocalUser";
describe("isUserNameValid()", () => {
it("should validate name with letters", () => {
expect(isUserNameValid('toto')).toBe(true);
});
it("should not validate empty name", () => {
expect(isUserNameValid('')).toBe(false);
});
it("should not validate string with too many letters", () => {
let testString = '';
for (let i = 0; i < maxUserNameLength + 2; i++) {
testString += 'a';
}
expect(isUserNameValid(testString)).toBe(false);
});
it("should not validate spaces", () => {
expect(isUserNameValid(' ')).toBe(false);
});
it("should validate special characters", () => {
expect(isUserNameValid('%&-')).toBe(true);
});
it("should validate accents", () => {
expect(isUserNameValid('éàëè')).toBe(true);
});
it("should validate chinese characters", () => {
expect(isUserNameValid('中文鍵盤')).toBe(true);
});
});
describe("areCharacterLayersValid()", () => {
it("should validate default textures array", () => {
expect(areCharacterLayersValid(['male1', 'male2'])).toBe(true);
});
it("should not validate an empty array", () => {
expect(areCharacterLayersValid([])).toBe(false);
});
it("should not validate space only strings", () => {
expect(areCharacterLayersValid([' ', 'male1'])).toBe(false);
});
it("should not validate empty strings", () => {
expect(areCharacterLayersValid(['', 'male1'])).toBe(false);
});
});