| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- package com.ruoyi.system.mapper;
- import org.apache.ibatis.mapping.BoundSql;
- import org.apache.ibatis.builder.xml.XMLMapperBuilder;
- import org.apache.ibatis.session.Configuration;
- import org.junit.jupiter.api.Test;
- import java.io.IOException;
- import java.io.InputStream;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Locale;
- import java.util.Map;
- import static org.junit.jupiter.api.Assertions.assertTrue;
- import static org.junit.jupiter.api.Assertions.assertEquals;
- import static org.junit.jupiter.api.Assertions.assertNotNull;
- class PosFoodMapperSqlTest {
- @Test
- void storeCardFoodsExcludeOffShelfFoodsWithoutReducingAvailableLimit() {
- Configuration configuration = new Configuration();
- configuration.addMapper(PosFoodMapper.class);
- Map<String, Object> parameters = new HashMap<>();
- parameters.put("storeIds", List.of(10L));
- parameters.put("language", "3");
- parameters.put("limitPerStore", 6);
- BoundSql boundSql = configuration
- .getMappedStatement("com.ruoyi.system.mapper.PosFoodMapper.selectFoodsByStoreIdsWithLimit")
- .getBoundSql(parameters);
- String sql = boundSql.getSql().replaceAll("\\s+", " ").toUpperCase(Locale.ROOT);
- assertTrue(sql.contains("F.STACKING_UP <> '1'"));
- assertTrue(sql.contains("F2.STACKING_UP <> '1'"));
- }
- @Test
- void menuCopyUpdateOnlyChangesContentFields() throws IOException {
- Configuration configuration = new Configuration();
- configuration.getTypeAliasRegistry().registerAlias("PosFood", com.ruoyi.system.domain.PosFood.class);
- String resource = "mapper/chanting/PosFoodMapper.xml";
- try (InputStream input = getClass().getClassLoader().getResourceAsStream(resource)) {
- assertNotNull(input);
- new XMLMapperBuilder(input, configuration, resource, configuration.getSqlFragments()).parse();
- }
- BoundSql boundSql = configuration
- .getMappedStatement("com.ruoyi.system.mapper.PosFoodMapper.updateMenuCopyContent")
- .getBoundSql(new com.ruoyi.system.domain.PosFood());
- String sql = boundSql.getSql().replaceAll("\\s+", " ").trim().toUpperCase(Locale.ROOT);
- assertEquals("UPDATE POS_FOOD SET PRICE = ?, IMAGE = ?, INTRODUCE = ?, FOOD_SKU = ?, "
- + "RECOMMEND = ?, SORT = ? WHERE ID = ?", sql);
- }
- }
|