93 lines
2.3 KiB
TypeScript
93 lines
2.3 KiB
TypeScript
import { userData } from "@/features/User/userDataTypes";
|
|
import { getUserDisplayName } from "@/utils/userUtils";
|
|
|
|
describe("userUtils", () => {
|
|
describe("getUserDisplayName", () => {
|
|
it("returns full name when user has name and family_name", () => {
|
|
const user: userData = {
|
|
sub: "test",
|
|
email: "test@test.com",
|
|
family_name: "Doe",
|
|
given_name: "John",
|
|
name: "John",
|
|
sid: "mockSid",
|
|
};
|
|
|
|
expect(getUserDisplayName(user)).toBe("John Doe");
|
|
});
|
|
|
|
it("returns email when user does not have name and family_name", () => {
|
|
const user: userData = {
|
|
sub: "test",
|
|
email: "test@test.com",
|
|
family_name: "",
|
|
given_name: "",
|
|
name: "",
|
|
sid: "mockSid",
|
|
};
|
|
|
|
expect(getUserDisplayName(user)).toBe("test@test.com");
|
|
});
|
|
|
|
it("returns email when user has only email", () => {
|
|
const user: userData = {
|
|
sub: "test",
|
|
email: "user@example.com",
|
|
family_name: "",
|
|
given_name: "",
|
|
name: "",
|
|
sid: "mockSid",
|
|
};
|
|
|
|
expect(getUserDisplayName(user)).toBe("user@example.com");
|
|
});
|
|
|
|
it("returns empty string when user is null", () => {
|
|
expect(getUserDisplayName(null)).toBe("");
|
|
});
|
|
|
|
it("returns empty string when user is undefined", () => {
|
|
expect(getUserDisplayName(undefined)).toBe("");
|
|
});
|
|
|
|
it("returns empty string when user has no name, family_name, or email", () => {
|
|
const user: userData = {
|
|
sub: "test",
|
|
email: "",
|
|
family_name: "",
|
|
given_name: "",
|
|
name: "",
|
|
sid: "mockSid",
|
|
};
|
|
|
|
expect(getUserDisplayName(user)).toBe("");
|
|
});
|
|
|
|
it("handles user with only name (no family_name)", () => {
|
|
const user: userData = {
|
|
sub: "test",
|
|
email: "test@test.com",
|
|
family_name: "",
|
|
given_name: "John",
|
|
name: "John",
|
|
sid: "mockSid",
|
|
};
|
|
|
|
expect(getUserDisplayName(user)).toBe("test@test.com");
|
|
});
|
|
|
|
it("handles user with only family_name (no name)", () => {
|
|
const user: userData = {
|
|
sub: "test",
|
|
email: "test@test.com",
|
|
family_name: "Doe",
|
|
given_name: "",
|
|
name: "",
|
|
sid: "mockSid",
|
|
};
|
|
|
|
expect(getUserDisplayName(user)).toBe("test@test.com");
|
|
});
|
|
});
|
|
});
|