优化
This commit is contained in:
+47
-1
@@ -24,6 +24,9 @@ import java.math.BigDecimal;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.assertThatThrownBy;
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.Mockito.inOrder;
|
||||
import static org.mockito.Mockito.never;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.doAnswer;
|
||||
import static org.mockito.Mockito.verifyNoInteractions;
|
||||
import static org.mockito.Mockito.when;
|
||||
@@ -85,7 +88,7 @@ class MeasurementImageServiceEvidenceTest {
|
||||
LambdaQueryWrapper<FileObjectEntity> query = invocation.getArgument(0);
|
||||
query.getSqlSegment();
|
||||
assertThat(query.getParamNameValuePairs().values())
|
||||
.contains(11L, 41L, "21", false);
|
||||
.contains(11L, 41L, "21", "ACTIVE", false);
|
||||
return null;
|
||||
});
|
||||
|
||||
@@ -116,4 +119,47 @@ class MeasurementImageServiceEvidenceTest {
|
||||
assertThat(result.confidence()).isEqualByComparingTo("0.50972");
|
||||
assertThat(result.ocrRawText()).isEqualTo("285.5\nKG");
|
||||
}
|
||||
|
||||
@Test
|
||||
void deletesMeasurementEvidenceThroughTheConfiguredLogicalDelete() {
|
||||
FileObjectEntity object = measurementEvidence();
|
||||
when(files.selectOne(any())).thenReturn(object);
|
||||
when(files.updateById(object)).thenReturn(1);
|
||||
when(files.deleteById(41L)).thenReturn(1);
|
||||
|
||||
service.deleteMeasurementEvidence(11L, 21L, 41L, 31L);
|
||||
|
||||
assertThat(object.getStatus()).isEqualTo("DELETED");
|
||||
assertThat(object.getDeleted()).isFalse();
|
||||
var ordered = inOrder(files, storage);
|
||||
ordered.verify(files).updateById(object);
|
||||
ordered.verify(files).deleteById(41L);
|
||||
ordered.verify(storage).delete(object.getObjectKey());
|
||||
}
|
||||
|
||||
@Test
|
||||
void doesNotDeleteStoredContentWhenLogicalDeleteLosesTheRace() {
|
||||
FileObjectEntity object = measurementEvidence();
|
||||
when(files.selectOne(any())).thenReturn(object);
|
||||
when(files.updateById(object)).thenReturn(1);
|
||||
when(files.deleteById(41L)).thenReturn(0);
|
||||
|
||||
assertThatThrownBy(() -> service.deleteMeasurementEvidence(11L, 21L, 41L, 31L))
|
||||
.isInstanceOf(com.baiyue.common.core.exception.BizException.class)
|
||||
.hasMessageContaining("已被删除");
|
||||
|
||||
verify(storage, never()).delete(any());
|
||||
}
|
||||
|
||||
private FileObjectEntity measurementEvidence() {
|
||||
FileObjectEntity object = new FileObjectEntity();
|
||||
object.setId(41L);
|
||||
object.setTenantId(11L);
|
||||
object.setBusinessType("INBOUND_MEASUREMENT_IMAGE");
|
||||
object.setBusinessId("21");
|
||||
object.setObjectKey("measurements/11/21/evidence.png");
|
||||
object.setStatus("ACTIVE");
|
||||
object.setDeleted(false);
|
||||
return object;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user