Skip to content

Commit 72a925d

Browse files
nanotaboadaclaude
andcommitted
fix(service): add null guard to deleteBySquadNumber (#268)
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 0cd05af commit 72a925d

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

src/main/java/ar/com/nanotaboada/java/samples/spring/boot/services/PlayersService.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,11 @@ public boolean update(Integer squadNumber, PlayerDTO playerDTO) {
236236
public boolean deleteBySquadNumber(Integer squadNumber) {
237237
log.debug("Deleting player with squad number: {}", squadNumber);
238238

239+
if (squadNumber == null) {
240+
log.warn("Cannot delete player - squad number is null");
241+
return false;
242+
}
243+
239244
return playersRepository.findBySquadNumber(squadNumber)
240245
.map(existing -> {
241246
playersRepository.deleteById(existing.getId());

src/test/java/ar/com/nanotaboada/java/samples/spring/boot/test/services/PlayersServiceTests.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -438,4 +438,19 @@ void givenPlayerDoesNotExist_whenDelete_thenReturnsFalse() {
438438
verify(playersRepositoryMock, never()).deleteById(any());
439439
then(actual).isFalse();
440440
}
441+
442+
/**
443+
* Given a null squad number is passed
444+
* When deleteBySquadNumber() is called
445+
* Then false is returned without hitting the repository
446+
*/
447+
@Test
448+
void givenNullSquadNumber_whenDelete_thenReturnsFalse() {
449+
// Given / When
450+
boolean actual = playersService.deleteBySquadNumber(null);
451+
// Then
452+
verify(playersRepositoryMock, never()).findBySquadNumber(any());
453+
verify(playersRepositoryMock, never()).deleteById(any());
454+
then(actual).isFalse();
455+
}
441456
}

0 commit comments

Comments
 (0)