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 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()); } }