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
37
package com.ruoyi.order.mapper;
 
import org.junit.jupiter.api.Test;
 
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
import java.util.stream.Collectors;
 
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
 
class TOrderInvoiceCompanyOptionsMapperTest {
 
    @Test
    void invoicingCompanyOptionsQueriesAllNonBlankCompanies() throws IOException {
        InputStream input = getClass().getClassLoader()
                .getResourceAsStream("mapper/order/TOrderInvoiceMapper.xml");
        assertNotNull(input);
 
        String mapper;
        try (BufferedReader reader = new BufferedReader(new InputStreamReader(input, StandardCharsets.UTF_8))) {
            mapper = reader.lines().collect(Collectors.joining("\n"));
        }
        int start = mapper.indexOf("<select id=\"invoicingCompanyOptions\"");
        int end = mapper.indexOf("</select>", start);
        String statement = mapper.substring(start, end);
 
        assertTrue(statement.contains("SELECT DISTINCT TRIM(toi.invoicing_company)"));
        assertTrue(statement.contains("toi.invoicing_company IS NOT NULL"));
        assertFalse(statement.contains("query."));
        assertFalse(statement.contains("site_id"));
    }
}