feat(join): A4 — Join household (accept invite) #61

Merged
marcel merged 24 commits from feat/issue-21-join-household into master 2026-04-19 14:29:14 +02:00
3 changed files with 6 additions and 2 deletions
Showing only changes of commit 44fd398701 - Show all commits

View File

@@ -7,6 +7,7 @@ COPY src src
RUN ./mvnw package -DskipTests -B
FROM eclipse-temurin:21-jre-alpine
RUN apk add --no-cache libwebp
WORKDIR /app
COPY --from=build /app/target/*.jar app.jar
EXPOSE 8080

View File

@@ -165,7 +165,7 @@ public class HouseholdService {
householdInviteRepository.findByHouseholdIdAndInvalidatedAtIsNull(household.getId())
.ifPresent(existing -> {
existing.setInvalidatedAt(Instant.now());
householdInviteRepository.save(existing);
householdInviteRepository.saveAndFlush(existing);
});
String code = generateInviteCode();
@@ -211,6 +211,7 @@ public class HouseholdService {
new UserAccount(email, name, passwordEncoder.encode(rawPassword)));
invite.setStatus("used");
invite.setInvalidatedAt(Instant.now());
householdInviteRepository.save(invite);
Household household = invite.getHousehold();

View File

@@ -507,11 +507,13 @@ class HouseholdServiceTest {
when(householdMemberRepository.findByUserEmailIgnoreCase("sarah@example.com")).thenReturn(Optional.of(member));
when(householdInviteRepository.findByHouseholdIdAndInvalidatedAtIsNull(any())).thenReturn(Optional.of(existingInvite));
when(householdInviteRepository.saveAndFlush(any(HouseholdInvite.class))).thenAnswer(i -> i.getArgument(0));
when(householdInviteRepository.save(any(HouseholdInvite.class))).thenAnswer(i -> i.getArgument(0));
householdService.createInvite("sarah@example.com");
assertThat(existingInvite.getInvalidatedAt()).isNotNull();
verify(householdInviteRepository, times(2)).save(any(HouseholdInvite.class));
verify(householdInviteRepository).saveAndFlush(existingInvite);
verify(householdInviteRepository).save(any(HouseholdInvite.class));
}
}