You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
70 lines
2.8 KiB
Java
70 lines
2.8 KiB
Java
package com.sztzjy.linkCommerce.service.impl;
|
|
|
|
import com.sztzjy.linkCommerce.config.exception.handler.ServiceException;
|
|
import com.sztzjy.linkCommerce.config.security.JwtUser;
|
|
import com.sztzjy.linkCommerce.entity.dto.FeatureConversionStepThreeValidationRequest;
|
|
import com.sztzjy.linkCommerce.entity.dto.FeatureConversionStepThreeValidationResult;
|
|
import com.sztzjy.linkCommerce.entity.dto.FeatureConversionStepTwoValidationRequest;
|
|
import org.junit.jupiter.api.Test;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
|
|
import static org.junit.jupiter.api.Assertions.assertThrows;
|
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
|
|
|
class FeatureConversionStepThreeServiceImplTest {
|
|
private final FeatureConversionStepThreeServiceImpl service = new FeatureConversionStepThreeServiceImpl();
|
|
|
|
@Test
|
|
void acceptsPriorityRowsSynchronizedWithRiceRows() {
|
|
FeatureConversionStepThreeValidationResult result = service.validate(request(), student());
|
|
|
|
assertTrue(result.isValid());
|
|
}
|
|
|
|
@Test
|
|
void rejectsPriorityNameNotSynchronizedWithRiceRows() {
|
|
FeatureConversionStepThreeValidationRequest request = request();
|
|
request.getRows().get(0).setName("被篡改的功能名称");
|
|
|
|
assertThrows(ServiceException.class, () -> service.validate(request, student()));
|
|
}
|
|
|
|
@Test
|
|
void rejectsBlankPriorityReason() {
|
|
FeatureConversionStepThreeValidationRequest request = request();
|
|
request.getRows().get(0).setReason(" ");
|
|
|
|
assertThrows(ServiceException.class, () -> service.validate(request, student()));
|
|
}
|
|
|
|
private FeatureConversionStepThreeValidationRequest request() {
|
|
FeatureConversionStepThreeValidationRequest request = new FeatureConversionStepThreeValidationRequest();
|
|
List<FeatureConversionStepTwoValidationRequest.RiceScoreRow> scoreRows = new ArrayList<>();
|
|
List<FeatureConversionStepThreeValidationRequest.PriorityRow> rows = new ArrayList<>();
|
|
for (int index = 0; index < 8; index++) {
|
|
String name = "功能定义" + (index + 1);
|
|
FeatureConversionStepTwoValidationRequest.RiceScoreRow scoreRow = new FeatureConversionStepTwoValidationRequest.RiceScoreRow();
|
|
scoreRow.setName(name);
|
|
scoreRows.add(scoreRow);
|
|
|
|
FeatureConversionStepThreeValidationRequest.PriorityRow row = new FeatureConversionStepThreeValidationRequest.PriorityRow();
|
|
row.setName(name);
|
|
row.setPriority(index == 0 ? "P0" : "P1");
|
|
row.setReason("结合 RICE 评分确定开发优先级");
|
|
rows.add(row);
|
|
}
|
|
request.setScoreRows(scoreRows);
|
|
request.setRows(rows);
|
|
return request;
|
|
}
|
|
|
|
private JwtUser student() {
|
|
JwtUser user = new JwtUser();
|
|
user.setUserId("student-id");
|
|
user.setRoleId(4);
|
|
return user;
|
|
}
|
|
}
|