1
0

feat: 增加query查询测试

This commit is contained in:
2025-08-14 20:22:45 +08:00
parent 84d9b63707
commit 50043157df
5 changed files with 126 additions and 23 deletions

View File

@@ -37,15 +37,63 @@ public class TestApplication {
@EventListener(ApplicationReadyEvent.class)
public void runTests() throws JsonProcessingException {
// 增
var cid1 = saveItem("company", "{\"name\": \"Apple\"}").get("data").asLong();
var cid2 = saveItem("company", "{\"name\": \"Banana\"}").get("data").asLong();
var cid3 = saveItem("company", "{\"name\": \"Cheery\"}").get("data").asLong();
var cid1 = saveItem("company", "{\"name\": \"Apple\",\"members\": 10}").get("data").asLong();
var cid2 = saveItem("company", "{\"name\": \"Banana\",\"members\": 20}").get("data").asLong();
var cid3 = saveItem("company", "{\"name\": \"Cheery\",\"members\": 20}").get("data").asLong();
// 查
var companies = listItems("company");
Assert.isTrue(companies.at("/data/items").size() == 3, "数量错误");
Assert.isTrue(companies.at("/data/total").asLong() == 3, "返回数量错误");
// language=JSON
var companies2 = listItems("company", "{\n" +
" \"page\": {\n" +
" \"index\": 1,\n" +
" \"size\": 2\n" +
" }\n" +
"}");
Assert.isTrue(companies2.at("/data/items").size() == 2, "数量错误");
Assert.isTrue(companies2.at("/data/total").asLong() == 3, "返回数量错误");
// language=JSON
var companies3 = listItems("company", "{\n" +
" \"query\": {\n" +
" \"notNullEqual\": [\n" +
" \"name\"\n" +
" ],\n" +
" \"equal\": {\n" +
" \"name\": \"Apple\"\n" +
" },\n" +
" \"like\": {\n" +
" \"name\": \"Appl%\"\n" +
" },\n" +
" \"less\": {\n" +
" \"members\": 50\n" +
" },\n" +
" \"greatEqual\": {\n" +
" \"members\": 0\n" +
" },\n" +
" \"in\": {\n" +
" \"name\": [\n" +
" \"Apple\",\n" +
" \"Banana\"\n" +
" ]\n" +
" },\n" +
" \"between\": {\n" +
" \"members\": {\n" +
" \"start\": 0,\n" +
" \"end\": 50\n" +
" }\n" +
" }\n" +
" },\n" +
" \"page\": {\n" +
" \"index\": 1,\n" +
" \"size\": 2\n" +
" }\n" +
"}");
Assert.isTrue(companies3.at("/data/items").size() == 1, "数量错误");
Assert.isTrue(companies3.at("/data/total").asLong() == 1, "返回数量错误");
var company1 = detailItem("company", cid1);
Assert.isTrue(cid1 == company1.at("/data/id").asLong(), "id错误");
Assert.isTrue("Apple".equals(company1.at("/data/name").asText()), "name错误");
@@ -91,6 +139,17 @@ public class TestApplication {
return MAPPER.readTree(response.getBody());
}
private JsonNode listItems(String path, String query) throws JsonProcessingException {
var response = REST_CLIENT.postForEntity(
"%s/%s/list".formatted(BASE_URL, path),
new HttpEntity<>(query, headers()),
String.class
);
Assert.isTrue(response.getStatusCode().is2xxSuccessful(), "请求失败");
Assert.notNull(response.getBody(), "请求失败");
return MAPPER.readTree(response.getBody());
}
private JsonNode detailItem(String path, Long id) throws JsonProcessingException {
var response = REST_CLIENT.getForEntity(
"%s/%s/detail/%d".formatted(BASE_URL, path, id),

View File

@@ -23,6 +23,7 @@ public class CompanyController extends SimpleControllerSupport<Company, CompanyC
var company = new Company();
company.setId(item.getId());
company.setName(item.getName());
company.setMembers(item.getMembers());
return company;
};
}
@@ -33,6 +34,7 @@ public class CompanyController extends SimpleControllerSupport<Company, CompanyC
var item = new ListItem();
item.setId(company.getId());
item.setName(company.getName());
item.setMembers(company.getMembers());
return item;
};
}
@@ -43,6 +45,7 @@ public class CompanyController extends SimpleControllerSupport<Company, CompanyC
var item = new DetailItem();
item.setId(company.getId());
item.setName(company.getName());
item.setMembers(company.getMembers());
item.setCreatedTime(company.getCreatedTime());
item.setModifiedTime(company.getModifiedTime());
return item;
@@ -52,6 +55,7 @@ public class CompanyController extends SimpleControllerSupport<Company, CompanyC
public static class SaveItem {
private Long id;
private String name;
private Integer members;
public Long getId() {
return id;
@@ -69,11 +73,20 @@ public class CompanyController extends SimpleControllerSupport<Company, CompanyC
this.name = name;
}
public Integer getMembers() {
return members;
}
public void setMembers(Integer members) {
this.members = members;
}
@Override
public String toString() {
return "SaveItem{" +
"id=" + id +
", name='" + name + '\'' +
", members=" + members +
'}';
}
}
@@ -81,6 +94,7 @@ public class CompanyController extends SimpleControllerSupport<Company, CompanyC
public static class ListItem {
private Long id;
private String name;
private Integer members;
public Long getId() {
return id;
@@ -98,11 +112,20 @@ public class CompanyController extends SimpleControllerSupport<Company, CompanyC
this.name = name;
}
public Integer getMembers() {
return members;
}
public void setMembers(Integer members) {
this.members = members;
}
@Override
public String toString() {
return "ListItem{" +
"id=" + id +
", name='" + name + '\'' +
", members=" + members +
'}';
}
}
@@ -110,6 +133,7 @@ public class CompanyController extends SimpleControllerSupport<Company, CompanyC
public static class DetailItem {
private Long id;
private String name;
private Integer members;
private LocalDateTime createdTime;
private LocalDateTime modifiedTime;
@@ -129,6 +153,14 @@ public class CompanyController extends SimpleControllerSupport<Company, CompanyC
this.name = name;
}
public Integer getMembers() {
return members;
}
public void setMembers(Integer members) {
this.members = members;
}
public LocalDateTime getCreatedTime() {
return createdTime;
}
@@ -150,6 +182,7 @@ public class CompanyController extends SimpleControllerSupport<Company, CompanyC
return "DetailItem{" +
"id=" + id +
", name='" + name + '\'' +
", members=" + members +
", createdTime=" + createdTime +
", modifiedTime=" + modifiedTime +
'}';

View File

@@ -13,6 +13,7 @@ import org.springframework.data.jpa.domain.support.AuditingEntityListener;
@Comment("企业")
public class Company extends SimpleEntity {
private String name;
private Integer members;
public String getName() {
return name;
@@ -22,10 +23,19 @@ public class Company extends SimpleEntity {
this.name = name;
}
public Integer getMembers() {
return members;
}
public void setMembers(Integer members) {
this.members = members;
}
@Override
public String toString() {
return "Company{" +
"name='" + name + '\'' +
", members=" + members +
"} " + super.toString();
}
}