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.extension.ExtendWith;
|
import org.junit.jupiter.api.Test;
|
import org.springframework.jdbc.core.JdbcTemplate;
|
import org.mockito.InjectMocks;
|
import org.mockito.Mock;
|
import org.mockito.junit.jupiter.MockitoExtension;
|
|
@ExtendWith(MockitoExtension.class)
|
class ProcessingApplicationPortalServiceTests {
|
@Mock
|
private JdbcTemplate jdbc;
|
|
@InjectMocks
|
private ProcessingApplicationPortalService service;
|
|
@Test
|
void usesServiceStaffAssignedToTalent() {
|
Long talentId = 7L;
|
String applicationNo = "SE-PROCESSING-1";
|
when(jdbc.queryForList(anyString(), eq(talentId), eq(applicationNo), eq(talentId))).thenReturn(List.of(Map.of(
|
"application_no", applicationNo,
|
"application_type", "SPOUSE_EMPLOYMENT",
|
"status", "待处理",
|
"merchant_name", "配偶推荐就业",
|
"card_level_snapshot", "卓越人才卡")));
|
when(jdbc.queryForList(anyString(), eq(talentId))).thenReturn(List.of(Map.of(
|
"display_name", "后台配置专员",
|
"position_name", "人才服务岗",
|
"mobile", "13911112222")));
|
|
Map<String, Object> detail = service.detail(applicationNo, talentId);
|
|
assertThat(detail.get("advisor")).isInstanceOfSatisfying(Map.class, advisor -> assertThat(advisor)
|
.containsEntry("name", "后台配置专员")
|
.containsEntry("department", "人才服务岗")
|
.containsEntry("mobile", "13911112222"));
|
}
|
|
@Test
|
void usesServiceStaffAssignedToTalentForHotelReservation() {
|
Long talentId = 1015L;
|
String applicationNo = "SA202608191626042390";
|
when(jdbc.queryForList(anyString(), eq(talentId), eq(applicationNo), eq(talentId))).thenReturn(List.of(Map.of(
|
"application_no", applicationNo,
|
"application_type", "HOTEL_RESERVATION",
|
"status", "待处理",
|
"merchant_name", "喜望酒店1",
|
"card_level_snapshot", "菁英人才卡")));
|
when(jdbc.queryForList(anyString(), eq(talentId))).thenReturn(List.of(Map.of(
|
"display_name", "酒店服务专员",
|
"position_name", "人才服务岗",
|
"mobile", "13540211212")));
|
|
Map<String, Object> detail = service.detail(applicationNo, talentId);
|
|
assertThat(detail.get("advisor")).isInstanceOfSatisfying(Map.class, advisor -> assertThat(advisor)
|
.containsEntry("name", "酒店服务专员")
|
.containsEntry("department", "人才服务岗")
|
.containsEntry("mobile", "13540211212"));
|
}
|
}
|