fix: handle empty mojia sku sync filter
This commit is contained in:
@@ -16,11 +16,12 @@ public class MojiaSkuSyncRepository {
|
||||
|
||||
public PageResult<MojiaMeasurementReceiptEntity> page(String skuCode, String syncStatus,
|
||||
long page, long size) {
|
||||
String normalizedSkuCode = StringUtils.hasText(skuCode) ? skuCode.trim() : null;
|
||||
return PageResult.from(mapper.selectPage(new Page<>(page, size),
|
||||
new LambdaQueryWrapper<MojiaMeasurementReceiptEntity>()
|
||||
.eq(MojiaMeasurementReceiptEntity::getMeasurementKind, "SKU")
|
||||
.eq(StringUtils.hasText(syncStatus), MojiaMeasurementReceiptEntity::getSyncStatus, syncStatus)
|
||||
.like(StringUtils.hasText(skuCode), MojiaMeasurementReceiptEntity::getBoxCode, skuCode.trim())
|
||||
.like(normalizedSkuCode != null, MojiaMeasurementReceiptEntity::getBoxCode, normalizedSkuCode)
|
||||
.orderByDesc(MojiaMeasurementReceiptEntity::getMeasuredAt)
|
||||
.orderByDesc(MojiaMeasurementReceiptEntity::getId)));
|
||||
}
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
package com.baiyue.firstleg.repository;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baiyue.firstleg.entity.MojiaMeasurementReceiptEntity;
|
||||
import com.baiyue.firstleg.mapper.MojiaMeasurementReceiptMapper;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.boot.test.mock.mockito.MockBean;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;
|
||||
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
@SpringJUnitConfig(MojiaSkuSyncRepository.class)
|
||||
class MojiaSkuSyncRepositoryTest {
|
||||
@MockBean private MojiaMeasurementReceiptMapper mapper;
|
||||
@Autowired private MojiaSkuSyncRepository repository;
|
||||
|
||||
@Test
|
||||
@SuppressWarnings({"rawtypes", "unchecked"})
|
||||
void blankSkuCodeDoesNotTrimNullOrAddFilter() {
|
||||
when(mapper.selectPage(any(Page.class), any(Wrapper.class)))
|
||||
.thenReturn(new Page<MojiaMeasurementReceiptEntity>(1, 20));
|
||||
|
||||
repository.page(null, null, 1, 20);
|
||||
|
||||
verify(mapper).selectPage(any(Page.class), any(Wrapper.class));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user