feat(recipes): image upload, fix save 500, HelloFresh seed data #53
@@ -604,4 +604,30 @@ class RecipeServiceTest {
|
||||
|
||||
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