package com.tcm.training.admin.member.dto;
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
import org.junit.jupiter.api.Test;
|
|
import java.util.List;
|
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
|
class MemberIntroSettingsSaveRequestTest {
|
|
private final ObjectMapper objectMapper = new ObjectMapper();
|
|
@Test
|
void shouldDeserializeLegacyModulesAliasToBenefits() throws Exception {
|
String json = "{\n" +
|
" \"modules\": [\n" +
|
" {\n" +
|
" \"name\": \"折扣\",\n" +
|
" \"iconUrl\": \"https://img.test/one.png\"\n" +
|
" }\n" +
|
" ],\n" +
|
" \"description\": \"权益说明\"\n" +
|
"}";
|
|
MemberIntroSettingsSaveRequest request = objectMapper.readValue(json, MemberIntroSettingsSaveRequest.class);
|
|
List<MemberIntroModuleSaveRequest> benefits = request.getBenefits();
|
assertNotNull(benefits);
|
assertEquals(1, benefits.size());
|
assertEquals("折扣", benefits.get(0).getName());
|
assertEquals("https://img.test/one.png", benefits.get(0).getIconUrl());
|
assertEquals("权益说明", request.getDescription());
|
}
|
}
|