304 lines
7 KiB
JavaScript
304 lines
7 KiB
JavaScript
import "../fixtures";
|
|
import User from "model/user";
|
|
import File from "model/file";
|
|
|
|
let chai = require("chai/chai");
|
|
let assert = chai.assert;
|
|
|
|
describe("model/user", () => {
|
|
it("should get handle", () => {
|
|
const values = {
|
|
ID: 5,
|
|
Name: "max",
|
|
DisplayName: "Max Last",
|
|
Email: "test@test.com",
|
|
Role: "admin",
|
|
};
|
|
|
|
const user = new User(values);
|
|
const result = user.getHandle();
|
|
assert.equal(result, "max");
|
|
|
|
const values2 = {
|
|
ID: 6,
|
|
Name: "",
|
|
DisplayName: "",
|
|
Email: "test@test.com",
|
|
Role: "admin",
|
|
};
|
|
|
|
const user2 = new User(values2);
|
|
const result2 = user2.getHandle();
|
|
assert.equal(result2, "");
|
|
});
|
|
|
|
it("should get default base path", () => {
|
|
const values = {
|
|
ID: 5,
|
|
Name: "max",
|
|
DisplayName: "Max Last",
|
|
Email: "test@test.com",
|
|
Role: "admin",
|
|
};
|
|
|
|
const user = new User(values);
|
|
const result = user.defaultBasePath();
|
|
assert.equal(result, "users/max");
|
|
|
|
const values2 = {
|
|
ID: 6,
|
|
Name: "",
|
|
DisplayName: "",
|
|
Email: "test@test.com",
|
|
Role: "admin",
|
|
};
|
|
|
|
const user2 = new User(values2);
|
|
const result2 = user2.defaultBasePath();
|
|
assert.equal(result2, "");
|
|
});
|
|
|
|
it("should get display name", () => {
|
|
const values = {
|
|
ID: 5,
|
|
Name: "max",
|
|
DisplayName: "Max Last",
|
|
Email: "test@test.com",
|
|
Role: "admin",
|
|
};
|
|
|
|
const user = new User(values);
|
|
const result = user.getDisplayName();
|
|
assert.equal(result, "Max Last");
|
|
|
|
const values2 = {
|
|
ID: 6,
|
|
Name: "",
|
|
DisplayName: "",
|
|
Email: "test@test.com",
|
|
Role: "admin",
|
|
};
|
|
|
|
const user2 = new User(values2);
|
|
const result2 = user2.getDisplayName();
|
|
assert.equal(result2, "Unknown");
|
|
|
|
const values3 = {
|
|
ID: 7,
|
|
Name: "",
|
|
DisplayName: "",
|
|
Email: "test@test.com",
|
|
Role: "admin",
|
|
Details: {
|
|
NickName: "maxi",
|
|
GivenName: "Maximilian",
|
|
},
|
|
};
|
|
|
|
const user3 = new User(values3);
|
|
const result3 = user3.getDisplayName();
|
|
assert.equal(result3, "maxi");
|
|
|
|
const values4 = {
|
|
ID: 8,
|
|
Name: "",
|
|
DisplayName: "",
|
|
Email: "test@test.com",
|
|
Role: "admin",
|
|
Details: {
|
|
NickName: "",
|
|
GivenName: "Maximilian",
|
|
},
|
|
};
|
|
|
|
const user4 = new User(values4);
|
|
const result4 = user4.getDisplayName();
|
|
assert.equal(result4, "Maximilian");
|
|
});
|
|
|
|
it("should get account info", () => {
|
|
const values = {
|
|
ID: 5,
|
|
Name: "max",
|
|
DisplayName: "Max Last",
|
|
Email: "test@test.com",
|
|
Role: "admin",
|
|
};
|
|
|
|
const user = new User(values);
|
|
const result = user.getAccountInfo();
|
|
assert.equal(result, "max");
|
|
|
|
const values2 = {
|
|
ID: 6,
|
|
Name: "",
|
|
DisplayName: "",
|
|
Email: "test@test.com",
|
|
Role: "admin",
|
|
};
|
|
|
|
const user2 = new User(values2);
|
|
const result2 = user2.getAccountInfo();
|
|
assert.equal(result2, "test@test.com");
|
|
|
|
const values3 = {
|
|
ID: 7,
|
|
Name: "",
|
|
DisplayName: "",
|
|
Email: "",
|
|
Role: "admin",
|
|
};
|
|
|
|
const user3 = new User(values3);
|
|
const result3 = user3.getAccountInfo();
|
|
assert.equal(result3, "Admin");
|
|
|
|
const values4 = {
|
|
ID: 8,
|
|
Name: "",
|
|
DisplayName: "",
|
|
Email: "",
|
|
Role: "",
|
|
};
|
|
|
|
const user4 = new User(values4);
|
|
const result4 = user4.getAccountInfo();
|
|
assert.equal(result4, "Account");
|
|
|
|
const values5 = {
|
|
ID: 9,
|
|
Name: "",
|
|
DisplayName: "",
|
|
Email: "",
|
|
Role: "admin",
|
|
Details: {
|
|
JobTitle: "Developer",
|
|
},
|
|
};
|
|
|
|
const user5 = new User(values5);
|
|
const result5 = user5.getAccountInfo();
|
|
assert.equal(result5, "Developer");
|
|
});
|
|
|
|
it("should get entity name", () => {
|
|
const values = {
|
|
ID: 5,
|
|
Name: "max",
|
|
DisplayName: "Max Last",
|
|
Email: "test@test.com",
|
|
Role: "admin",
|
|
};
|
|
|
|
const user = new User(values);
|
|
const result = user.getEntityName();
|
|
assert.equal(result, "Max Last");
|
|
});
|
|
|
|
it("should get id", () => {
|
|
const values = {
|
|
ID: 5,
|
|
Name: "max",
|
|
DisplayName: "Max Last",
|
|
Email: "test@test.com",
|
|
Role: "admin",
|
|
};
|
|
|
|
const user = new User(values);
|
|
const result = user.getId();
|
|
assert.equal(result, 5);
|
|
});
|
|
|
|
it("should get model name", () => {
|
|
const result = User.getModelName();
|
|
assert.equal(result, "User");
|
|
});
|
|
|
|
it("should get collection resource", () => {
|
|
const result = User.getCollectionResource();
|
|
assert.equal(result, "users");
|
|
});
|
|
|
|
it("should get register form", async () => {
|
|
const values = { ID: 52, Name: "max", DisplayName: "Max Last" };
|
|
const user = new User(values);
|
|
const result = await user.getRegisterForm();
|
|
assert.equal(result.definition.foo, "register");
|
|
});
|
|
|
|
it("should get avatar url", async () => {
|
|
const values = { ID: 52, Name: "max", DisplayName: "Max Last" };
|
|
const user = new User(values);
|
|
const result = await user.getAvatarURL();
|
|
assert.equal(result, "/static/img/avatar/tile_500.jpg");
|
|
|
|
const values2 = {
|
|
ID: 53,
|
|
Name: "max",
|
|
DisplayName: "Max Last",
|
|
Thumb: "91e6c374afb78b28a52d7b4fd4fd2ea861b87123",
|
|
};
|
|
const user2 = new User(values2);
|
|
const result2 = await user2.getAvatarURL();
|
|
assert.equal(result2, "/api/v1/t/91e6c374afb78b28a52d7b4fd4fd2ea861b87123/public/tile_500");
|
|
});
|
|
|
|
it("should upload avatar", async () => {
|
|
const values = { ID: 52, Name: "max", DisplayName: "Max Last" };
|
|
const user = new User(values);
|
|
|
|
const values2 = {
|
|
InstanceID: 5,
|
|
UID: "ABC123",
|
|
Hash: "54ghtfd",
|
|
FileType: "jpg",
|
|
MediaType: "image",
|
|
Name: "1/2/IMG123.jpg",
|
|
CreatedAt: "2012-07-08T14:45:39Z",
|
|
UpdatedAt: "2012-07-08T14:45:39Z",
|
|
};
|
|
const file = new File(values2);
|
|
|
|
const Files = [file];
|
|
|
|
return user
|
|
.uploadAvatar(Files)
|
|
.then((response) => {
|
|
assert.equal("abc", response.Thumb);
|
|
assert.equal("manual", response.ThumbSrc);
|
|
|
|
return Promise.resolve();
|
|
})
|
|
.catch((error) => {
|
|
return Promise.reject(error);
|
|
});
|
|
});
|
|
|
|
it("should get profile form", async () => {
|
|
const values = { ID: 53, Name: "max", DisplayName: "Max Last" };
|
|
const user = new User(values);
|
|
const result = await user.getProfileForm();
|
|
assert.equal(result.definition.foo, "profile");
|
|
});
|
|
|
|
it("should return whether user is remote", async () => {
|
|
const values = { ID: 52, Name: "max", DisplayName: "Max Last", AuthProvider: "local" };
|
|
const user = new User(values);
|
|
const result = await user.isRemote();
|
|
assert.equal(result, false);
|
|
});
|
|
|
|
it("should get change password", async () => {
|
|
const values = {
|
|
ID: 54,
|
|
Name: "max",
|
|
DisplayName: "Max Last",
|
|
Email: "test@test.com",
|
|
Role: "admin",
|
|
};
|
|
|
|
const user = new User(values);
|
|
const result = await user.changePassword("old", "new");
|
|
assert.equal(result.new_password, "new");
|
|
});
|
|
});
|