feat(community): extend PendingMembershipResponse with validFrom/validTo fields

This commit is contained in:
Bernhard Müller 2026-07-23 13:42:54 +02:00
parent a651ec946c
commit a96575d499
3 changed files with 35 additions and 2 deletions

View File

@ -1,5 +1,6 @@
package at.mueller.eeg.backend.community.api.dto;
import java.time.LocalDate;
import java.util.UUID;
public record PendingMembershipResponse(
@ -10,5 +11,7 @@ public record PendingMembershipResponse(
String atNumber,
String communityName,
Integer priorityLevel,
String status
String status,
LocalDate validFrom,
LocalDate validTo
) {}

View File

@ -168,7 +168,9 @@ public class MembershipService {
m.getMeteringPoint().getAtNumber(),
m.getEnergyCommunity().getName(),
m.getPriorityLevel(),
m.getStatus().name()
m.getStatus().name(),
m.getValidFrom(),
m.getValidTo()
);
})
.toList();

View File

@ -246,4 +246,32 @@ class MembershipServiceTest {
assertEquals("test@example.com", result.get(0).userEmail());
assertEquals("Test", result.get(0).firstName());
}
@Test
void getPendingMemberships_setsNullValidFromAndValidTo() {
when(membershipRepository.findPendingWithDetails()).thenReturn(List.of(testMembership));
when(userRepository.findAllById(List.of(testUserId))).thenReturn(List.of(testUser));
List<PendingMembershipResponse> result = membershipService.getPendingMemberships();
assertEquals(1, result.size());
assertNull(result.get(0).validFrom());
assertNull(result.get(0).validTo());
}
@Test
void getPendingMemberships_setsValidDatesFromEntity() {
testMembership.setStatus(MembershipStatus.ACTIVE);
testMembership.setValidFrom(LocalDate.of(2025, 1, 15));
testMembership.setValidTo(LocalDate.of(2025, 12, 31));
when(membershipRepository.findPendingWithDetails()).thenReturn(List.of(testMembership));
when(userRepository.findAllById(List.of(testUserId))).thenReturn(List.of(testUser));
List<PendingMembershipResponse> result = membershipService.getPendingMemberships();
assertEquals(1, result.size());
assertEquals(LocalDate.of(2025, 1, 15), result.get(0).validFrom());
assertEquals(LocalDate.of(2025, 12, 31), result.get(0).validTo());
}
}