hejianhao
2026-09-01 540ef65220e05b75c183cd3554aaeb554927600a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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());
    }
}