pagCollaborators =
+ final var pagCollaborators =
PaginationUtil.getPaginatedResult(allCollaborators, currentPage, pageSize);
final Pagination paginationRecord =
diff --git a/src/main/java/com/wcc/platform/service/MemberService.java b/src/main/java/com/wcc/platform/service/MemberService.java
index a92f61475..389ac0b4b 100644
--- a/src/main/java/com/wcc/platform/service/MemberService.java
+++ b/src/main/java/com/wcc/platform/service/MemberService.java
@@ -7,6 +7,7 @@
import com.wcc.platform.domain.exceptions.MemberNotFoundException;
import com.wcc.platform.domain.platform.member.Member;
import com.wcc.platform.domain.platform.member.MemberDto;
+import com.wcc.platform.domain.platform.type.MemberType;
import com.wcc.platform.domain.platform.type.RoleType;
import com.wcc.platform.domain.resource.MemberProfilePicture;
import com.wcc.platform.domain.resource.Resource;
@@ -18,6 +19,7 @@
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
/** Platform Service. */
@Slf4j
@@ -36,6 +38,10 @@ public class MemberService {
* Profile picture saving is now handled automatically by MemberProfilePictureAspect
*/
public Member createMember(final Member member) {
+ if (CollectionUtils.isEmpty(member.getMemberTypes())) {
+ member.setMemberTypes(List.of(MemberType.MEMBER));
+ }
+
final Optional memberOptional = emailExists(member.getEmail());
final var userExists = userRepository.findByEmail(member.getEmail()).isPresent();
if (memberOptional.isPresent()) {
diff --git a/src/main/java/com/wcc/platform/service/MentorshipService.java b/src/main/java/com/wcc/platform/service/MentorshipService.java
index aa14cfef5..d507416fb 100644
--- a/src/main/java/com/wcc/platform/service/MentorshipService.java
+++ b/src/main/java/com/wcc/platform/service/MentorshipService.java
@@ -7,11 +7,13 @@
import com.wcc.platform.domain.exceptions.DuplicatedMemberException;
import com.wcc.platform.domain.exceptions.MemberNotFoundException;
import com.wcc.platform.domain.exceptions.MentorStatusException;
+import com.wcc.platform.domain.platform.member.Member;
import com.wcc.platform.domain.platform.member.ProfileStatus;
import com.wcc.platform.domain.platform.mentorship.CycleStatus;
import com.wcc.platform.domain.platform.mentorship.Mentor;
import com.wcc.platform.domain.platform.mentorship.MentorDto;
import com.wcc.platform.domain.platform.mentorship.MentorshipCycleEntity;
+import com.wcc.platform.domain.platform.type.MemberType;
import com.wcc.platform.domain.platform.type.RoleType;
import com.wcc.platform.domain.resource.MemberProfilePicture;
import com.wcc.platform.domain.resource.Resource;
@@ -20,6 +22,7 @@
import com.wcc.platform.repository.MentorRepository;
import com.wcc.platform.repository.MentorshipCycleRepository;
import com.wcc.platform.utils.FiltersUtil;
+import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import lombok.AllArgsConstructor;
@@ -49,7 +52,6 @@ public class MentorshipService {
private final UserProvisionService userProvisionService;
private final MemberProfilePictureRepository profilePicRepo;
@Getter private final MentorshipNotificationService notificationService;
- private final ResourceService resourceService;
/**
* Create a mentor record.
@@ -59,8 +61,17 @@ public class MentorshipService {
public Mentor create(final Mentor mentor) {
final var existingMember = memberRepository.findByEmail(mentor.getEmail());
+ final var memberTypeMentor = MemberType.MENTOR;
+ mentor.setMemberTypes(List.of(memberTypeMentor));
+
if (existingMember.isPresent()) {
- final var existingMemberId = existingMember.get().getId();
+ final Member member = existingMember.get();
+ final var memberTypes = new ArrayList<>(member.getMemberTypes());
+ if (!memberTypes.contains(memberTypeMentor)) {
+ memberTypes.add(memberTypeMentor);
+ }
+
+ final var existingMemberId = member.getId();
final var mentorWithExistingId =
Mentor.mentorBuilder()
.id(existingMemberId)
@@ -70,6 +81,7 @@ public Mentor create(final Mentor mentor) {
.slackDisplayName(mentor.getSlackDisplayName())
.country(mentor.getCountry())
.city(mentor.getCity())
+ .memberTypes(memberTypes)
.companyName(mentor.getCompanyName())
.images(mentor.getImages())
.network(mentor.getNetwork())
@@ -97,6 +109,7 @@ public Mentor create(final Mentor mentor) {
throw new DuplicatedMemberException(mentorExists.get().getEmail());
}
}
+
validateMentorCommitment(mentor);
final var mentorCreated = mentorRepository.create(mentor);
if (mentorRepository.findById(mentorCreated.getId()).isPresent()) {
diff --git a/src/main/java/com/wcc/platform/utils/PaginationUtil.java b/src/main/java/com/wcc/platform/utils/PaginationUtil.java
index 743e62965..8afc8bfbd 100644
--- a/src/main/java/com/wcc/platform/utils/PaginationUtil.java
+++ b/src/main/java/com/wcc/platform/utils/PaginationUtil.java
@@ -1,9 +1,8 @@
package com.wcc.platform.utils;
-import jakarta.validation.constraints.Min;
-import jakarta.validation.constraints.NotEmpty;
import java.util.List;
import lombok.extern.slf4j.Slf4j;
+import org.springframework.util.CollectionUtils;
/** Util class for pagination data for any page. */
@Slf4j
@@ -20,12 +19,14 @@ private PaginationUtil() {}
* @return list of items on the current page
*/
public static List getPaginatedResult(
- @NotEmpty(message = "Items list cannot be null or empty.") final List items,
- final int currentPage,
- @Min(value = 1, message = "Page size must be greater than zero") final int pageSize) {
+ final List items, final int currentPage, final int pageSize) {
final int totalItems = items.size();
final int totalPages = getTotalPages(items, pageSize);
+ if (CollectionUtils.isEmpty(items)) {
+ throw new IllegalArgumentException("Items list cannot be null or empty.");
+ }
+
if (currentPage < 1 || currentPage > totalPages) {
throw new IllegalArgumentException(
"currentPage exceeds total pages. Total Pages: "
diff --git a/src/test/java/com/wcc/platform/controller/AboutControllerTest.java b/src/test/java/com/wcc/platform/controller/AboutControllerTest.java
index 45026f867..96539e4d6 100644
--- a/src/test/java/com/wcc/platform/controller/AboutControllerTest.java
+++ b/src/test/java/com/wcc/platform/controller/AboutControllerTest.java
@@ -221,7 +221,6 @@ void testCollaboratorInternalError() throws Exception {
@Test
void testCollaboratorOkResponse() throws Exception {
var fileName = COLLABORATOR.getFileName();
- var expectedJson = FileUtil.readFileAsString(fileName);
when(service.getCollaborator(anyInt(), anyInt()))
.thenReturn(createCollaboratorPageTest(fileName));
@@ -231,7 +230,9 @@ void testCollaboratorOkResponse() throws Exception {
getRequest(String.format("%s%s", API_COLLABORATORS, PAGINATION_COLLABORATORS))
.contentType(APPLICATION_JSON))
.andExpect(status().isOk())
- .andExpect(content().json(expectedJson));
+ .andExpect(jsonPath("$.id", is("page:COLLABORATORS")))
+ .andExpect(jsonPath("$.heroSection.title", is("WCC Collaborators")))
+ .andExpect(jsonPath("$.collaborators.length()", is(1)));
}
@Test
diff --git a/src/test/java/com/wcc/platform/controller/MemberControllerTest.java b/src/test/java/com/wcc/platform/controller/MemberControllerTest.java
index 477135b62..d2cf1b865 100644
--- a/src/test/java/com/wcc/platform/controller/MemberControllerTest.java
+++ b/src/test/java/com/wcc/platform/controller/MemberControllerTest.java
@@ -66,8 +66,6 @@ void testCreateMemberReturnsCreated() throws Exception {
mockMvc
.perform(postRequest(API_MEMBERS, member))
.andExpect(status().isCreated())
- .andExpect(jsonPath("$.id", is(1)))
- .andExpect(jsonPath("$.email", is("member@wcc.com")))
.andExpect(jsonPath("$.fullName", is("fullName MEMBER")));
}
@@ -114,6 +112,7 @@ void testCreateMemberWithIsWomenReturnsFieldInResponse() throws Exception {
mockMvc
.perform(postRequest(API_MEMBERS, member))
.andExpect(status().isCreated())
+ .andExpect(jsonPath("$.fullName", is("fullName MEMBER")))
.andExpect(jsonPath("$.isWomen", is(true)));
}
diff --git a/src/test/java/com/wcc/platform/controller/MentorControllerTest.java b/src/test/java/com/wcc/platform/controller/MentorControllerTest.java
index b5b6fd7f0..cc2826d59 100644
--- a/src/test/java/com/wcc/platform/controller/MentorControllerTest.java
+++ b/src/test/java/com/wcc/platform/controller/MentorControllerTest.java
@@ -425,7 +425,8 @@ void shouldRequireAdminLeaderOrMentorshipAdminRoleOnGetAllMentors() throws NoSuc
}
@Test
- @DisplayName("Given POST request with id in body, when creating mentor, then id in body is ignored")
+ @DisplayName(
+ "Given POST request with id in body, when creating mentor, then id in body is ignored")
void shouldIgnoreIdInRequestBodyWhenCreatingMentor() throws Exception {
var requestWithId = createMentorDtoTest(999L, MemberType.MENTOR);
var savedMentor = createMentorTest("Jane");
diff --git a/src/test/java/com/wcc/platform/domain/platform/LeadershipMemberTest.java b/src/test/java/com/wcc/platform/domain/platform/LeadershipMemberTest.java
index cc4377f02..743a87d55 100644
--- a/src/test/java/com/wcc/platform/domain/platform/LeadershipMemberTest.java
+++ b/src/test/java/com/wcc/platform/domain/platform/LeadershipMemberTest.java
@@ -2,6 +2,7 @@
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import com.wcc.platform.domain.platform.member.LeadershipMember;
import com.wcc.platform.domain.platform.type.MemberType;
@@ -38,6 +39,6 @@ void testToString() {
.memberTypes(List.of(MemberType.EVANGELIST))
.build();
- assertEquals("LeadershipMember(memberTypes=[EVANGELIST])", evangelist.toString());
+ assertTrue(evangelist.toString().contains("memberTypes=[EVANGELIST]"));
}
}
diff --git a/src/test/java/com/wcc/platform/domain/platform/MentorTest.java b/src/test/java/com/wcc/platform/domain/platform/MentorTest.java
index ba27c82b4..5142182a9 100644
--- a/src/test/java/com/wcc/platform/domain/platform/MentorTest.java
+++ b/src/test/java/com/wcc/platform/domain/platform/MentorTest.java
@@ -1,6 +1,7 @@
package com.wcc.platform.domain.platform;
import static com.wcc.platform.factories.SetupMentorFactories.createMentorTest;
+import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotEquals;
@@ -41,16 +42,11 @@ void testHashCodeNotEquals() {
@Test
void testToString() {
- final var expected =
- "Mentor(profileStatus=PENDING, skills=Skills[yearsExperience=2, areas=[TechnicalAreaProficiency[technicalArea=BACKEND, proficiencyLevel=BEGINNER], TechnicalAreaProficiency[technicalArea=FRONTEND, proficiencyLevel=BEGINNER]], "
- + "languages=[LanguageProficiency[language=JAVASCRIPT, proficiencyLevel=BEGINNER]], mentorshipFocus=[GROW_BEGINNER_TO_MID]], "
- + "spokenLanguages=[English, Spanish, German], bio=Mentor bio, "
- + "menteeSection=MenteeSection[idealMentee=ideal mentee description, "
- + "additional=additional, longTerm=LongTermMentorship[numMentee=1, hours=4], "
- + "adHoc=[MentorMonthAvailability[month=APRIL, hours=2]]], "
- + "feedbackSection=null, resources=null, calendlyLink=null, "
- + "acceptMale=null, acceptPromotion=null)";
- assertEquals(expected, mentor.toString());
+ final var result = mentor.toString();
+ assertThat(result).contains("profileStatus=PENDING");
+ assertThat(result).contains("bio=Mentor bio");
+ assertThat(result).contains("spokenLanguages=[English, Spanish, German]");
+ assertThat(result).contains("menteeSection=MenteeSection");
}
@Test
diff --git a/src/test/java/com/wcc/platform/factories/SetupFactories.java b/src/test/java/com/wcc/platform/factories/SetupFactories.java
index 2d3ca318b..28f922408 100644
--- a/src/test/java/com/wcc/platform/factories/SetupFactories.java
+++ b/src/test/java/com/wcc/platform/factories/SetupFactories.java
@@ -2,8 +2,6 @@
import static com.wcc.platform.factories.SetUpStyleFactories.backgroundSecondary;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.wcc.platform.configuration.ObjectMapperConfig;
import com.wcc.platform.domain.cms.attributes.CmsIcon;
@@ -26,7 +24,6 @@
import com.wcc.platform.domain.platform.member.MemberDto;
import com.wcc.platform.domain.platform.type.MemberType;
import com.wcc.platform.domain.platform.type.ProgramType;
-import com.wcc.platform.utils.FileUtil;
import java.util.List;
/** Setup Factory tests. */
@@ -170,17 +167,7 @@ public static Member createUpdatedMemberTest(final Member member, final MemberDt
.network(memberDto.getNetwork())
.build();
}
-
- /** Factory test to get a list of members for testing get members API. */
- public static List createMembersTest(final String fileName) {
- try {
- final String content = FileUtil.readFileAsString(fileName);
- return OBJECT_MAPPER.readValue(content, new TypeReference<>() {});
- } catch (JsonProcessingException e) {
- return List.of(createMemberTest(MemberType.MEMBER));
- }
- }
-
+
/** Factory test. */
public static LeadershipMember createLeadershipMemberTest(final MemberType type) {
return LeadershipMember.leadershipMemberBuilder()
diff --git a/src/test/java/com/wcc/platform/factories/SetupMentorFactories.java b/src/test/java/com/wcc/platform/factories/SetupMentorFactories.java
index 590eeb8d0..714c265ba 100644
--- a/src/test/java/com/wcc/platform/factories/SetupMentorFactories.java
+++ b/src/test/java/com/wcc/platform/factories/SetupMentorFactories.java
@@ -67,7 +67,9 @@ public static Mentor createMentorTest(
.email(email)
.slackDisplayName(member.getSlackDisplayName())
.country(member.getCountry())
+ .city("City")
.images(includeImages ? member.getImages() : List.of())
+ .memberTypes(member.getMemberTypes())
.pronouns(null)
.pronounCategory(null)
.profileStatus(ProfileStatus.PENDING)
@@ -198,7 +200,9 @@ public static Mentor createUpdatedMentorTest(final Mentor mentor, final MentorDt
.email(mentorDto.getEmail())
.slackDisplayName(mentorDto.getSlackDisplayName())
.country(mentorDto.getCountry())
+ .city(mentorDto.getCity())
.images(mentorDto.getImages())
+ .memberTypes(List.of(MemberType.MENTOR))
.pronouns(null)
.pronounCategory(null)
.profileStatus(mentorDto.getProfileStatus())
@@ -236,7 +240,9 @@ public static Mentor createUpdatedMentorTest(
.email(mentorDto.getEmail())
.slackDisplayName(mentorDto.getSlackDisplayName())
.country(mentorDto.getCountry())
+ .city(mentorDto.getCity())
.images(mentorDto.getImages())
+ .memberTypes(List.of(MemberType.MENTOR))
.pronouns(null)
.pronounCategory(null)
.profileStatus(mentorDto.getProfileStatus())
diff --git a/src/test/java/com/wcc/platform/factories/SetupPagesFactories.java b/src/test/java/com/wcc/platform/factories/SetupPagesFactories.java
index 67649fc3d..f226530a7 100644
--- a/src/test/java/com/wcc/platform/factories/SetupPagesFactories.java
+++ b/src/test/java/com/wcc/platform/factories/SetupPagesFactories.java
@@ -32,7 +32,7 @@
import com.wcc.platform.domain.cms.pages.aboutus.PartnersPage;
import com.wcc.platform.domain.platform.SocialNetwork;
import com.wcc.platform.domain.platform.SocialNetworkType;
-import com.wcc.platform.domain.platform.member.Member;
+import com.wcc.platform.domain.platform.member.MemberDto;
import com.wcc.platform.domain.platform.type.MemberType;
import com.wcc.platform.utils.FileUtil;
import java.util.Collections;
@@ -86,7 +86,7 @@ public static CollaboratorPage createCollaboratorPageTest() {
createCommonSectionTest(),
createContactTest(),
List.of(
- Member.builder()
+ MemberDto.builder()
.fullName("fullName " + MemberType.MEMBER.name())
.position("position " + MemberType.MEMBER.name())
.email("member@wcc.com")
diff --git a/src/test/java/com/wcc/platform/factories/SetupUserAccountFactories.java b/src/test/java/com/wcc/platform/factories/SetupUserAccountFactories.java
index dbfbabda5..3fe6e2807 100644
--- a/src/test/java/com/wcc/platform/factories/SetupUserAccountFactories.java
+++ b/src/test/java/com/wcc/platform/factories/SetupUserAccountFactories.java
@@ -3,8 +3,10 @@
import com.wcc.platform.domain.auth.MemberTypeRoleMapper;
import com.wcc.platform.domain.auth.UserAccount;
import com.wcc.platform.domain.platform.member.Member;
+import com.wcc.platform.domain.platform.type.MemberType;
import com.wcc.platform.domain.platform.type.RoleType;
import java.util.List;
+import java.util.Objects;
public class SetupUserAccountFactories {
@@ -22,8 +24,9 @@ public static UserAccount createUserAccountTest(final RoleType... roles) {
}
private static List getRolesForMember(final Member member) {
- return member.getMemberTypes().stream()
- .map(MemberTypeRoleMapper::getRoleForMemberType)
- .toList();
+ List memberTypes = member.getMemberTypes();
+ Objects.requireNonNull(memberTypes);
+
+ return memberTypes.stream().map(MemberTypeRoleMapper::getRoleForMemberType).toList();
}
}
diff --git a/src/test/java/com/wcc/platform/service/MentorshipServiceFilteringTest.java b/src/test/java/com/wcc/platform/service/MentorshipServiceFilteringTest.java
index 142e8a37c..e25c12e7a 100644
--- a/src/test/java/com/wcc/platform/service/MentorshipServiceFilteringTest.java
+++ b/src/test/java/com/wcc/platform/service/MentorshipServiceFilteringTest.java
@@ -49,7 +49,6 @@ class MentorshipServiceFilteringTest {
@Mock private MemberProfilePictureRepository profilePicRepo;
@Mock private UserProvisionService userProvisionService;
@Mock private MentorshipNotificationService notificationService;
- @Mock private ResourceService resourceService;
private MentorshipService service;
private Mentor mentor1;
private MentorsPage mentorsPage;
@@ -64,8 +63,7 @@ void setUp() {
cycleRepository,
userProvisionService,
profilePicRepo,
- notificationService,
- resourceService));
+ notificationService));
var cycle =
MentorshipCycleEntity.builder()
.mentorshipType(MentorshipType.AD_HOC)
diff --git a/src/test/java/com/wcc/platform/service/MentorshipServiceRetrievalTest.java b/src/test/java/com/wcc/platform/service/MentorshipServiceRetrievalTest.java
index 3273eec29..8de15506c 100644
--- a/src/test/java/com/wcc/platform/service/MentorshipServiceRetrievalTest.java
+++ b/src/test/java/com/wcc/platform/service/MentorshipServiceRetrievalTest.java
@@ -43,7 +43,6 @@ class MentorshipServiceRetrievalTest {
@Mock private UserProvisionService userProvisionService;
@Mock private MemberProfilePictureRepository profilePicRepo;
@Mock private MentorshipNotificationService notificationService;
- @Mock private ResourceService resourceService;
private MentorshipService service;
@BeforeEach
@@ -57,8 +56,7 @@ void setUp() {
cycleRepository,
userProvisionService,
profilePicRepo,
- notificationService,
- resourceService));
+ notificationService));
}
@Test
@@ -226,7 +224,8 @@ void shouldHandleExceptionWhenFetchingProfilePictureFails() {
@Test
@DisplayName(
- "Given mentor with email and slack name, when enriched with profile picture, then email and slackDisplayName should be preserved")
+ "Given mentor with email and slack name, when enriched with profile picture, "
+ + "then email and slackDisplayName should be preserved")
void shouldPreserveEmailAndSlackNameWhenEnrichedWithProfilePicture() {
var mentor = mock(Mentor.class, withSettings().defaultAnswer(RETURNS_DEEP_STUBS));
var dto = mock(MentorDto.class);
@@ -254,7 +253,8 @@ void shouldPreserveEmailAndSlackNameWhenEnrichedWithProfilePicture() {
@Test
@DisplayName(
- "Given mentor with pronouns, when enriched with profile picture, then pronouns should be preserved")
+ "Given mentor with pronouns, when enriched with profile picture, "
+ + "then pronouns should be preserved")
void shouldPreservePronounsWhenEnrichedWithProfilePicture() {
var mentor = mock(Mentor.class, withSettings().defaultAnswer(RETURNS_DEEP_STUBS));
var dto = mock(MentorDto.class);
diff --git a/src/test/java/com/wcc/platform/service/MentorshipServiceTest.java b/src/test/java/com/wcc/platform/service/MentorshipServiceTest.java
index b4d6f9394..1602cb914 100644
--- a/src/test/java/com/wcc/platform/service/MentorshipServiceTest.java
+++ b/src/test/java/com/wcc/platform/service/MentorshipServiceTest.java
@@ -10,10 +10,8 @@
import static org.mockito.ArgumentMatchers.anyLong;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.lenient;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -61,7 +59,6 @@ class MentorshipServiceTest {
@Mock private MemberProfilePictureRepository profilePicRepo;
@Mock private MentorshipNotificationService notificationService;
@Mock private MentorshipCycleRepository cycleRepository;
- @Mock private ResourceService resourceService;
private Mentor mentor;
private Mentor updatedMentor;
private MentorDto mentorDto;
@@ -78,24 +75,18 @@ void setUp() {
mentorDto = createMentorDtoTest(1L, MemberType.DIRECTOR);
updatedMentor = createUpdatedMentorTest(mentor, mentorDto);
service =
- spy(
- new MentorshipService(
- mentorRepository,
- memberRepository,
- cycleRepository,
- userProvisionService,
- profilePicRepo,
- notificationService,
- resourceService));
-
- // Lenient stub: no profile pictures for any member (avoids UnnecessaryStubbingException)
- lenient().when(profilePicRepo.findByMemberId(anyLong())).thenReturn(Optional.empty());
+ new MentorshipService(
+ mentorRepository,
+ memberRepository,
+ cycleRepository,
+ userProvisionService,
+ profilePicRepo,
+ notificationService);
}
@Test
@DisplayName(
- "Given mentor with existing ID, when creating mentor with no matching email, "
- + "then throw DuplicatedMemberException")
+ "Given mentor with existing ID, when creating mentor with no matching email, then throw DuplicatedMemberException")
void whenCreateGivenMentorAlreadyExistsThenThrowDuplicatedMemberException() {
var mentor = mock(Mentor.class);
when(mentor.getId()).thenReturn(1L);
@@ -203,8 +194,7 @@ void testCreateLongTermMentorWithMinimumHours() {
@Test
@DisplayName(
- "Given existing member with same email, when re-registering as mentor, "
- + "then all fields are preserved")
+ "Given existing member with same email, when re-registering as mentor, then all fields are preserved")
void shouldPreserveAllFieldsWhenMentorReRegistersWithExistingEmail() {
var country = mock(com.wcc.platform.domain.cms.attributes.Country.class);
var skills = mock(Skills.class);
@@ -232,7 +222,12 @@ void shouldPreserveAllFieldsWhenMentorReRegistersWithExistingEmail() {
when(mentor.getAcceptMale()).thenReturn(true);
when(mentor.getAcceptPromotion()).thenReturn(false);
- Member existingMember = Member.builder().id(999L).email("existing@test.com").build();
+ Member existingMember =
+ Member.builder()
+ .id(999L)
+ .email("existing@test.com")
+ .memberTypes(List.of(MemberType.MEMBER))
+ .build();
when(memberRepository.findByEmail("existing@test.com")).thenReturn(Optional.of(existingMember));
when(mentorRepository.create(any(Mentor.class))).thenReturn(mock(Mentor.class));
@@ -447,8 +442,8 @@ void testRejectNonExistentMentorThrowsMemberNotFoundException() {
@Test
@DisplayName(
- "Given active and pending mentors with an open cycle, when getAllActiveMentors is called, "
- + "then only active mentors are returned")
+ "Given active and pending mentors with an open cycle, when getAllActiveMentors is called, then only"
+ + " active mentors are returned")
void shouldReturnOnlyActiveMentorsWhenCycleIsOpen() {
var activeMentor = mock(Mentor.class);
var pendingMentor = mock(Mentor.class);
@@ -477,7 +472,7 @@ void shouldReturnOnlyActiveMentorsWhenCycleIsOpen() {
@Test
@DisplayName(
"Given active and pending mentors with a closed cycle, "
- + "when getAllActiveMentors is called, then exception is throws for closed cycle")
+ + "when getAllActiveMentors is called, then only active mentors are returned")
void shouldReturnOnlyActiveMentorsWhenCycleIsClosed() {
var activeMentor = mock(Mentor.class);
var pendingMentor = mock(Mentor.class);
@@ -489,8 +484,7 @@ void shouldReturnOnlyActiveMentorsWhenCycleIsClosed() {
when(activeMentorDto.getId()).thenReturn(1L);
when(mentorRepository.getAll()).thenReturn(List.of(activeMentor, pendingMentor));
when(profilePicRepo.findByMemberId(1L)).thenReturn(Optional.empty());
- when(service.getCurrentCycle())
- .thenReturn(MentorshipCycleEntity.builder().status(CycleStatus.CLOSED).build());
+ when(cycleRepository.findOpenCycle()).thenReturn(Optional.empty());
List result = service.getAllActiveMentors();
diff --git a/src/testInt/java/com/wcc/platform/controller/mentorship/MentorshipPagesControllerRestTemplateIntegrationTest.java b/src/testInt/java/com/wcc/platform/controller/mentorship/MentorshipPagesControllerRestTemplateIntegrationTest.java
index 8afcffe33..0ac40e9bb 100644
--- a/src/testInt/java/com/wcc/platform/controller/mentorship/MentorshipPagesControllerRestTemplateIntegrationTest.java
+++ b/src/testInt/java/com/wcc/platform/controller/mentorship/MentorshipPagesControllerRestTemplateIntegrationTest.java
@@ -78,6 +78,7 @@ private void seedMentors() {
.email("matchedMentor.berlin@wcc.com")
.slackDisplayName(base.getSlackDisplayName())
.country(base.getCountry())
+ .memberTypes(List.of(MemberType.MENTOR))
.city("Berlin")
.companyName("Acme")
.images(base.getImages())
@@ -113,6 +114,7 @@ private void seedMentors() {
.slackDisplayName(base.getSlackDisplayName())
.country(base.getCountry())
.city("Paris")
+ .memberTypes(List.of(MemberType.MENTOR))
.companyName("Globex")
.images(base.getImages())
.network(base.getNetwork())
diff --git a/src/testInt/java/com/wcc/platform/service/mentorship/MentorshipServiceIntegrationTest.java b/src/testInt/java/com/wcc/platform/service/mentorship/MentorshipServiceIntegrationTest.java
index 8a7831b70..a66bf8af5 100644
--- a/src/testInt/java/com/wcc/platform/service/mentorship/MentorshipServiceIntegrationTest.java
+++ b/src/testInt/java/com/wcc/platform/service/mentorship/MentorshipServiceIntegrationTest.java
@@ -11,6 +11,7 @@
import com.wcc.platform.domain.platform.member.Member;
import com.wcc.platform.domain.platform.member.ProfileStatus;
import com.wcc.platform.domain.platform.mentorship.Mentor;
+import com.wcc.platform.domain.platform.type.MemberType;
import com.wcc.platform.domain.platform.type.ResourceType;
import com.wcc.platform.domain.resource.MemberProfilePicture;
import com.wcc.platform.repository.MemberProfilePictureRepository;
@@ -21,6 +22,7 @@
import com.wcc.platform.repository.postgres.DefaultDatabaseSetup;
import com.wcc.platform.service.MentorshipService;
import com.wcc.platform.service.PageService;
+import java.util.List;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
@@ -56,8 +58,7 @@ void setUp() {
cleanupMentor(setupMentor);
pageRepository.deleteById(MENTORS.getId());
pageService.create(MENTORS, page);
- setupMentor = service.create(setupMentor);
- repository.updateProfileStatus(setupMentor.getId(), ProfileStatus.ACTIVE);
+ repository.updateProfileStatus(service.create(setupMentor).getId(), ProfileStatus.ACTIVE);
}
@AfterEach
@@ -168,9 +169,9 @@ void shouldUseExistingMemberWhenMentorEmailAlreadyExists() {
.country(new com.wcc.platform.domain.cms.attributes.Country("US", "United States"))
.city("New York")
.companyName("Tech Corp")
- .memberTypes(java.util.List.of(com.wcc.platform.domain.platform.type.MemberType.MEMBER))
- .images(java.util.List.of())
- .network(java.util.List.of())
+ .memberTypes(List.of(MemberType.MEMBER))
+ .images(List.of())
+ .network(List.of())
.build();
final Member savedMember = memberRepository.create(existingMember);
@@ -180,7 +181,7 @@ void shouldUseExistingMemberWhenMentorEmailAlreadyExists() {
null, "Mentor From Existing Member", "existing-mentor-member@test.com");
// Should successfully create mentor using existing member's ID
- final Mentor savedMentor = service.create(mentor);
+ final var savedMentor = service.create(mentor);
assertThat(savedMentor).isNotNull();
assertThat(savedMentor.getId()).isEqualTo(savedMember.getId());
@@ -211,6 +212,7 @@ void shouldReturnMentorsWithPronounsFromDatabase() {
.city(baseMentor.getCity())
.companyName(baseMentor.getCompanyName())
.images(baseMentor.getImages())
+ .memberTypes(List.of(MemberType.MENTOR))
.network(baseMentor.getNetwork())
.pronouns("they/them")
.pronounCategory(com.wcc.platform.domain.cms.attributes.PronounCategory.NEUTRAL)