diff --git a/packages/common/src/search/_internal/portalSearchGroupMembers.ts b/packages/common/src/search/_internal/portalSearchGroupMembers.ts index c8dbb0f9dbe..966203f266e 100644 --- a/packages/common/src/search/_internal/portalSearchGroupMembers.ts +++ b/packages/common/src/search/_internal/portalSearchGroupMembers.ts @@ -133,7 +133,7 @@ async function searchGroupMembers( // over the includes and requestOptions const fn = (member: IGroupMember) => { return memberToSearchResult( - { ...member, isOwner: resp.owner?.username === member.username }, + { ...member, isOwner: resp.owner.username === member.username }, searchOptions.include, searchOptions.requestOptions ); diff --git a/packages/common/test/users/view.test.ts b/packages/common/test/users/view.test.ts index 6e9764d042e..e22c7c4f478 100644 --- a/packages/common/test/users/view.test.ts +++ b/packages/common/test/users/view.test.ts @@ -58,5 +58,53 @@ describe("user view module:", () => { expect(result.title).toBe(`@${USER_HUB_SEARCH_RESULT.owner}`); expect(result.source).toBeFalsy(); }); + describe("membership badges", () => { + it("adds an owner badge if the user is the group owner", () => { + const GROUP_MEMBER_RESULT = cloneObject(USER_HUB_SEARCH_RESULT); + GROUP_MEMBER_RESULT.isOwner = true; + GROUP_MEMBER_RESULT.memberType = "admin"; + + const result = userResultToCardModel(GROUP_MEMBER_RESULT); + + expect(result.badges).toEqual([ + { + icon: "user-key", + color: "gray", + showLabel: false, + tooltip: { i18nKey: "memberBadges.owner" }, + }, + ]); + }); + it("adds an amin badge if the user is a group admin", () => { + const GROUP_MEMBER_RESULT = cloneObject(USER_HUB_SEARCH_RESULT); + GROUP_MEMBER_RESULT.memberType = "admin"; + + const result = userResultToCardModel(GROUP_MEMBER_RESULT); + + expect(result.badges).toEqual([ + { + icon: "user-up", + color: "gray", + showLabel: false, + tooltip: { i18nKey: "memberBadges.admin" }, + }, + ]); + }); + it("adds a member badge if the user is a group member", () => { + const GROUP_MEMBER_RESULT = cloneObject(USER_HUB_SEARCH_RESULT); + GROUP_MEMBER_RESULT.memberType = "member"; + + const result = userResultToCardModel(GROUP_MEMBER_RESULT); + + expect(result.badges).toEqual([ + { + icon: "user", + color: "gray", + showLabel: false, + tooltip: { i18nKey: "memberBadges.member" }, + }, + ]); + }); + }); }); });