refactor(geschichte): introduce GeschichteQueryService with existsById()
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,23 @@
|
|||||||
|
package org.raddatz.familienarchiv.geschichte;
|
||||||
|
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Thin read-only service owning {@link GeschichteRepository}.
|
||||||
|
* Exists so that {@code JourneyItemService} can check Geschichte existence
|
||||||
|
* without holding a direct reference to the Geschichte repository
|
||||||
|
* (cross-domain repository access is not allowed per layering rules).
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class GeschichteQueryService {
|
||||||
|
|
||||||
|
private final GeschichteRepository geschichteRepository;
|
||||||
|
|
||||||
|
public boolean existsById(UUID id) {
|
||||||
|
return geschichteRepository.existsById(id);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
package org.raddatz.familienarchiv.geschichte;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.junit.jupiter.api.extension.ExtendWith;
|
||||||
|
import org.mockito.InjectMocks;
|
||||||
|
import org.mockito.Mock;
|
||||||
|
import org.mockito.junit.jupiter.MockitoExtension;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
|
@ExtendWith(MockitoExtension.class)
|
||||||
|
class GeschichteQueryServiceTest {
|
||||||
|
|
||||||
|
@Mock
|
||||||
|
GeschichteRepository geschichteRepository;
|
||||||
|
|
||||||
|
@InjectMocks
|
||||||
|
GeschichteQueryService geschichteQueryService;
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void existsById_returns_true_when_geschichte_exists() {
|
||||||
|
UUID id = UUID.randomUUID();
|
||||||
|
when(geschichteRepository.existsById(id)).thenReturn(true);
|
||||||
|
|
||||||
|
assertThat(geschichteQueryService.existsById(id)).isTrue();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void existsById_returns_false_when_geschichte_does_not_exist() {
|
||||||
|
UUID id = UUID.randomUUID();
|
||||||
|
when(geschichteRepository.existsById(id)).thenReturn(false);
|
||||||
|
|
||||||
|
assertThat(geschichteQueryService.existsById(id)).isFalse();
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user