package com.talentcard.server.business.portal;
|
|
import static org.assertj.core.api.Assertions.assertThat;
|
import static org.mockito.ArgumentMatchers.anyString;
|
import static org.mockito.ArgumentMatchers.eq;
|
import static org.mockito.Mockito.when;
|
|
import java.util.List;
|
import java.util.Map;
|
|
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.extension.ExtendWith;
|
import org.mockito.InjectMocks;
|
import org.mockito.Mock;
|
import org.mockito.junit.jupiter.MockitoExtension;
|
import org.springframework.jdbc.core.JdbcTemplate;
|
|
@ExtendWith(MockitoExtension.class)
|
class ChildrenEntrustmentPortalServiceTests {
|
@Mock
|
private JdbcTemplate jdbc;
|
|
@InjectMocks
|
private ChildrenEntrustmentPortalService service;
|
|
@Test
|
void returnsSchoolDetailFromMerchantConfiguration() {
|
Long serviceId = 91L;
|
when(jdbc.queryForList(anyString(), eq(serviceId))).thenReturn(List.of(Map.of(
|
"id", serviceId,
|
"merchant_type_code", "children",
|
"usage_instructions", "[{\"name\":\"第一中学\",\"address\":\"学校地址\",\"detail\":\"<p>后台配置的学校详情</p>\"}]")));
|
|
Map<String, Object> detail = service.school(serviceId, "第一中学");
|
|
assertThat(detail)
|
.containsEntry("id", "第一中学")
|
.containsEntry("name", "第一中学")
|
.containsEntry("address", "学校地址")
|
.containsEntry("content", "<p>后台配置的学校详情</p>");
|
}
|
}
|