test(recipes): verify null preview is stored when compressor returns null
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -604,4 +604,30 @@ class RecipeServiceTest {
|
|||||||
|
|
||||||
assertThat(result).isEmpty();
|
assertThat(result).isEmpty();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void createRecipeShouldStoreNullPreviewWhenCompressorReturnsNull() {
|
||||||
|
var household = testHousehold();
|
||||||
|
when(householdRepository.findById(HOUSEHOLD_ID)).thenReturn(Optional.of(household));
|
||||||
|
when(imageCompressor.compressToPreview(any())).thenReturn(null);
|
||||||
|
when(recipeRepository.save(any(Recipe.class))).thenAnswer(i -> {
|
||||||
|
Recipe r = i.getArgument(0);
|
||||||
|
try {
|
||||||
|
var field = Recipe.class.getDeclaredField("id");
|
||||||
|
field.setAccessible(true);
|
||||||
|
field.set(r, UUID.randomUUID());
|
||||||
|
} catch (Exception e) { throw new RuntimeException(e); }
|
||||||
|
return r;
|
||||||
|
});
|
||||||
|
|
||||||
|
var request = new RecipeCreateRequest(
|
||||||
|
"Soup", null, null, "easy", "data:image/jpeg;base64,abc",
|
||||||
|
List.of(), List.of(), List.of());
|
||||||
|
|
||||||
|
RecipeDetailResponse result = recipeService.createRecipe(HOUSEHOLD_ID, request);
|
||||||
|
|
||||||
|
assertThat(result.id()).isNotNull();
|
||||||
|
// verify the recipe was saved without a preview (compressor returned null)
|
||||||
|
verify(recipeRepository).save(argThat(r -> r.getHeroImagePreview() == null));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user