추세검색 설정 수정
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
package com.goldenchart.service;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.goldenchart.dto.TrendSearchRequest;
|
||||
import com.goldenchart.entity.GcAppSettings;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
/**
|
||||
* 앱 설정 JSON → 스캔 요청 배점 병합 검증.
|
||||
*/
|
||||
class TrendSearchSettingsHelperTest {
|
||||
|
||||
private TrendSearchSettingsHelper helper;
|
||||
|
||||
@BeforeEach
|
||||
void setUp() {
|
||||
helper = new TrendSearchSettingsHelper(new ObjectMapper());
|
||||
}
|
||||
|
||||
@Test
|
||||
void mergeRequestWithSettings_appliesWeightsFromJson() throws Exception {
|
||||
GcAppSettings app = GcAppSettings.builder()
|
||||
.deviceId("test-device")
|
||||
.trendSearchSettingsJson("""
|
||||
{"weightMaAlignment":50,"weightMaSlope":10,"weightAdxTrend":15,
|
||||
"weightMacdMomentum":10,"weightPricePosition":15,"minTrendScore":60,
|
||||
"limit":15,"scanLimit":40}
|
||||
""")
|
||||
.build();
|
||||
|
||||
TrendSearchRequest body = new TrendSearchRequest();
|
||||
body.setWeightMaAlignment(30);
|
||||
body.setMinTrendScore(70);
|
||||
|
||||
TrendSearchRequest merged = helper.mergeRequestWithSettings(body, app);
|
||||
|
||||
assertEquals(50, merged.getWeightMaAlignment());
|
||||
assertEquals(10, merged.getWeightMaSlope());
|
||||
assertEquals(15, merged.getWeightAdxTrend());
|
||||
assertEquals(60, merged.getMinTrendScore());
|
||||
assertEquals(15, merged.getLimit());
|
||||
assertEquals(40, merged.getScanLimit());
|
||||
}
|
||||
|
||||
@Test
|
||||
void buildRequest_usesLastRequestTimeframe_whenPresent() throws Exception {
|
||||
GcAppSettings app = GcAppSettings.builder()
|
||||
.defaultTimeframe("1D")
|
||||
.trendSearchSettingsJson("{\"weightMaAlignment\":25}")
|
||||
.build();
|
||||
|
||||
TrendSearchRequest last = new TrendSearchRequest();
|
||||
last.setTimeframe("4h");
|
||||
last.setWeightMaAlignment(99);
|
||||
|
||||
TrendSearchRequest built = helper.buildRequest(app, last);
|
||||
|
||||
assertEquals("4h", built.getTimeframe());
|
||||
assertEquals(25, built.getWeightMaAlignment());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user