|
@@ -6,6 +6,7 @@ import com.etotem.cfc.entity.HealthDimensionScore;
|
|
|
import com.etotem.cfc.entity.HealthNormReference;
|
|
import com.etotem.cfc.entity.HealthNormReference;
|
|
|
import com.etotem.cfc.entity.HealthReport;
|
|
import com.etotem.cfc.entity.HealthReport;
|
|
|
import com.etotem.cfc.mapper.HealthDataSourceRecordMapper;
|
|
import com.etotem.cfc.mapper.HealthDataSourceRecordMapper;
|
|
|
|
|
+import com.etotem.cfc.dto.HealthDimensionVO;
|
|
|
import com.etotem.cfc.mapper.HealthNormReferenceMapper;
|
|
import com.etotem.cfc.mapper.HealthNormReferenceMapper;
|
|
|
import com.etotem.cfc.service.impl.DimensionScoreServiceImpl;
|
|
import com.etotem.cfc.service.impl.DimensionScoreServiceImpl;
|
|
|
import org.junit.jupiter.api.Test;
|
|
import org.junit.jupiter.api.Test;
|
|
@@ -79,7 +80,7 @@ public class DimensionScoreServiceImplTest {
|
|
|
.thenReturn(Collections.emptyList());
|
|
.thenReturn(Collections.emptyList());
|
|
|
when(normMapper.selectNorm(anyString(), anyString(), anyInt())).thenReturn(null);
|
|
when(normMapper.selectNorm(anyString(), anyString(), anyInt())).thenReturn(null);
|
|
|
|
|
|
|
|
- var result = dimensionScoreService.getHealthDimension(memberId);
|
|
|
|
|
|
|
+ HealthDimensionVO result = dimensionScoreService.getHealthDimension(memberId);
|
|
|
|
|
|
|
|
assertNotNull(result);
|
|
assertNotNull(result);
|
|
|
assertEquals(memberId, result.getMemberId());
|
|
assertEquals(memberId, result.getMemberId());
|
|
@@ -95,16 +96,16 @@ public class DimensionScoreServiceImplTest {
|
|
|
Long memberId = 1L;
|
|
Long memberId = 1L;
|
|
|
List<HealthDimensionScore> latest = Collections.singletonList(score(memberId, "growth", 85));
|
|
List<HealthDimensionScore> latest = Collections.singletonList(score(memberId, "growth", 85));
|
|
|
List<HealthDimensionScore> history = Arrays.asList(
|
|
List<HealthDimensionScore> history = Arrays.asList(
|
|
|
- scoreWithDate(memberId, "growth", 85),
|
|
|
|
|
- scoreWithDate(memberId, "growth", 78)
|
|
|
|
|
|
|
+ scoreWithDate(memberId, "growth", 85, 30),
|
|
|
|
|
+ scoreWithDate(memberId, "growth", 78, 60)
|
|
|
);
|
|
);
|
|
|
when(scoreService.getLatestScores(memberId)).thenReturn(latest);
|
|
when(scoreService.getLatestScores(memberId)).thenReturn(latest);
|
|
|
when(scoreService.getHistoryScores(eq(memberId), eq("growth"), eq(2))).thenReturn(history);
|
|
when(scoreService.getHistoryScores(eq(memberId), eq("growth"), eq(2))).thenReturn(history);
|
|
|
when(normMapper.selectNorm(anyString(), anyString(), anyInt())).thenReturn(null);
|
|
when(normMapper.selectNorm(anyString(), anyString(), anyInt())).thenReturn(null);
|
|
|
|
|
|
|
|
- var result = dimensionScoreService.getHealthDimension(memberId);
|
|
|
|
|
- var growthDim = result.getDimensions().stream()
|
|
|
|
|
- .filter(d -> "growth".equals(d.getDimension())).findFirst().orElseThrow();
|
|
|
|
|
|
|
+ HealthDimensionVO result = dimensionScoreService.getHealthDimension(memberId);
|
|
|
|
|
+ HealthDimensionVO.DimensionItem growthDim = result.getDimensions().stream()
|
|
|
|
|
+ .filter(d -> "growth".equals(d.getDimension())).findFirst().get();
|
|
|
|
|
|
|
|
assertEquals("up", growthDim.getTrend());
|
|
assertEquals("up", growthDim.getTrend());
|
|
|
}
|
|
}
|
|
@@ -114,16 +115,16 @@ public class DimensionScoreServiceImplTest {
|
|
|
Long memberId = 1L;
|
|
Long memberId = 1L;
|
|
|
List<HealthDimensionScore> latest = Collections.singletonList(score(memberId, "sleep", 65));
|
|
List<HealthDimensionScore> latest = Collections.singletonList(score(memberId, "sleep", 65));
|
|
|
List<HealthDimensionScore> history = Arrays.asList(
|
|
List<HealthDimensionScore> history = Arrays.asList(
|
|
|
- scoreWithDate(memberId, "sleep", 65),
|
|
|
|
|
- scoreWithDate(memberId, "sleep", 73)
|
|
|
|
|
|
|
+ scoreWithDate(memberId, "sleep", 65, 30),
|
|
|
|
|
+ scoreWithDate(memberId, "sleep", 73, 60)
|
|
|
);
|
|
);
|
|
|
when(scoreService.getLatestScores(memberId)).thenReturn(latest);
|
|
when(scoreService.getLatestScores(memberId)).thenReturn(latest);
|
|
|
when(scoreService.getHistoryScores(eq(memberId), eq("sleep"), eq(2))).thenReturn(history);
|
|
when(scoreService.getHistoryScores(eq(memberId), eq("sleep"), eq(2))).thenReturn(history);
|
|
|
when(normMapper.selectNorm(anyString(), anyString(), anyInt())).thenReturn(null);
|
|
when(normMapper.selectNorm(anyString(), anyString(), anyInt())).thenReturn(null);
|
|
|
|
|
|
|
|
- var result = dimensionScoreService.getHealthDimension(memberId);
|
|
|
|
|
- var sleepDim = result.getDimensions().stream()
|
|
|
|
|
- .filter(d -> "sleep".equals(d.getDimension())).findFirst().orElseThrow();
|
|
|
|
|
|
|
+ HealthDimensionVO result2 = dimensionScoreService.getHealthDimension(memberId);
|
|
|
|
|
+ HealthDimensionVO.DimensionItem sleepDim = result2.getDimensions().stream()
|
|
|
|
|
+ .filter(d -> "sleep".equals(d.getDimension())).findFirst().get();
|
|
|
|
|
|
|
|
assertEquals("down", sleepDim.getTrend());
|
|
assertEquals("down", sleepDim.getTrend());
|
|
|
}
|
|
}
|
|
@@ -133,16 +134,16 @@ public class DimensionScoreServiceImplTest {
|
|
|
Long memberId = 1L;
|
|
Long memberId = 1L;
|
|
|
List<HealthDimensionScore> latest = Collections.singletonList(score(memberId, "vision", 72));
|
|
List<HealthDimensionScore> latest = Collections.singletonList(score(memberId, "vision", 72));
|
|
|
List<HealthDimensionScore> history = Arrays.asList(
|
|
List<HealthDimensionScore> history = Arrays.asList(
|
|
|
- scoreWithDate(memberId, "vision", 72),
|
|
|
|
|
- scoreWithDate(memberId, "vision", 74)
|
|
|
|
|
|
|
+ scoreWithDate(memberId, "vision", 72, 30),
|
|
|
|
|
+ scoreWithDate(memberId, "vision", 74, 60)
|
|
|
);
|
|
);
|
|
|
when(scoreService.getLatestScores(memberId)).thenReturn(latest);
|
|
when(scoreService.getLatestScores(memberId)).thenReturn(latest);
|
|
|
when(scoreService.getHistoryScores(eq(memberId), eq("vision"), eq(2))).thenReturn(history);
|
|
when(scoreService.getHistoryScores(eq(memberId), eq("vision"), eq(2))).thenReturn(history);
|
|
|
when(normMapper.selectNorm(anyString(), anyString(), anyInt())).thenReturn(null);
|
|
when(normMapper.selectNorm(anyString(), anyString(), anyInt())).thenReturn(null);
|
|
|
|
|
|
|
|
- var result = dimensionScoreService.getHealthDimension(memberId);
|
|
|
|
|
- var visionDim = result.getDimensions().stream()
|
|
|
|
|
- .filter(d -> "vision".equals(d.getDimension())).findFirst().orElseThrow();
|
|
|
|
|
|
|
+ HealthDimensionVO result3 = dimensionScoreService.getHealthDimension(memberId);
|
|
|
|
|
+ HealthDimensionVO.DimensionItem visionDim = result3.getDimensions().stream()
|
|
|
|
|
+ .filter(d -> "vision".equals(d.getDimension())).findFirst().get();
|
|
|
|
|
|
|
|
assertEquals("stable", visionDim.getTrend());
|
|
assertEquals("stable", visionDim.getTrend());
|
|
|
}
|
|
}
|
|
@@ -155,9 +156,9 @@ public class DimensionScoreServiceImplTest {
|
|
|
when(scoreService.getHistoryScores(eq(memberId), eq("immunity"), eq(2))).thenReturn(Collections.emptyList());
|
|
when(scoreService.getHistoryScores(eq(memberId), eq("immunity"), eq(2))).thenReturn(Collections.emptyList());
|
|
|
when(normMapper.selectNorm(anyString(), anyString(), anyInt())).thenReturn(null);
|
|
when(normMapper.selectNorm(anyString(), anyString(), anyInt())).thenReturn(null);
|
|
|
|
|
|
|
|
- var result = dimensionScoreService.getHealthDimension(memberId);
|
|
|
|
|
- var immunityDim = result.getDimensions().stream()
|
|
|
|
|
- .filter(d -> "immunity".equals(d.getDimension())).findFirst().orElseThrow();
|
|
|
|
|
|
|
+ HealthDimensionVO result4 = dimensionScoreService.getHealthDimension(memberId);
|
|
|
|
|
+ HealthDimensionVO.DimensionItem immunityDim = result4.getDimensions().stream()
|
|
|
|
|
+ .filter(d -> "immunity".equals(d.getDimension())).findFirst().get();
|
|
|
|
|
|
|
|
assertEquals("stable", immunityDim.getTrend());
|
|
assertEquals("stable", immunityDim.getTrend());
|
|
|
}
|
|
}
|
|
@@ -169,9 +170,9 @@ public class DimensionScoreServiceImplTest {
|
|
|
when(scoreService.getHistoryScores(anyLong(), anyString(), anyInt())).thenReturn(Collections.emptyList());
|
|
when(scoreService.getHistoryScores(anyLong(), anyString(), anyInt())).thenReturn(Collections.emptyList());
|
|
|
when(normMapper.selectNorm(anyString(), anyString(), anyInt())).thenReturn(null);
|
|
when(normMapper.selectNorm(anyString(), anyString(), anyInt())).thenReturn(null);
|
|
|
|
|
|
|
|
- var result = dimensionScoreService.getHealthDimension(memberId);
|
|
|
|
|
|
|
+ HealthDimensionVO result5 = dimensionScoreService.getHealthDimension(memberId);
|
|
|
|
|
|
|
|
- for (var dim : result.getDimensions()) {
|
|
|
|
|
|
|
+ for (HealthDimensionVO.DimensionItem dim : result5.getDimensions()) {
|
|
|
if (dim.getScore() != null) {
|
|
if (dim.getScore() != null) {
|
|
|
if (dim.getScore().intValue() >= 85) {
|
|
if (dim.getScore().intValue() >= 85) {
|
|
|
assertEquals("excellent", dim.getLevel(), "score " + dim.getScore() + " should be excellent");
|
|
assertEquals("excellent", dim.getLevel(), "score " + dim.getScore() + " should be excellent");
|