PageResultTest.java 1.01 KB
package com.xly.erp.common.response;

import static org.assertj.core.api.Assertions.assertThat;

import java.util.List;
import org.junit.jupiter.api.Test;

/**
 * REQ-USR-003 T1:通用分页响应体 PageResult。
 *
 * <p>验证四字段(records/total/pageNum/pageSize)装配读回一致,空 records 允许。</p>
 */
class PageResultTest {

    @Test
    void ofAssemblesAllFields() {
        List<String> records = List.of("a", "b", "c");
        PageResult<String> page = PageResult.of(records, 23L, 2L, 10L);

        assertThat(page.getRecords()).isEqualTo(records);
        assertThat(page.getTotal()).isEqualTo(23L);
        assertThat(page.getPageNum()).isEqualTo(2L);
        assertThat(page.getPageSize()).isEqualTo(10L);
    }

    @Test
    void emptyRecordsAllowed() {
        PageResult<String> page = PageResult.of(List.of(), 0L, 1L, 10L);

        assertThat(page.getRecords()).isNotNull().isEmpty();
        assertThat(page.getTotal()).isZero();
        assertThat(page.getPageNum()).isEqualTo(1L);
    }
}