feat: expose product factors step one validation

main
chenyuan 3 weeks ago
parent ffb806633f
commit 79fd874868

@ -12,10 +12,13 @@ import com.sztzjy.linkCommerce.entity.dto.NewProductSurveyStepThreeValidationReq
import com.sztzjy.linkCommerce.entity.dto.NewProductSurveyStepThreeValidationResult;
import com.sztzjy.linkCommerce.entity.dto.NewProductSurveyStepFourValidationRequest;
import com.sztzjy.linkCommerce.entity.dto.NewProductSurveyStepFourValidationResult;
import com.sztzjy.linkCommerce.entity.dto.ProductDevelopmentFactorsStepOneValidationRequest;
import com.sztzjy.linkCommerce.entity.dto.ProductDevelopmentFactorsStepOneValidationResult;
import com.sztzjy.linkCommerce.service.NewProductSurveyStepOneService;
import com.sztzjy.linkCommerce.service.NewProductSurveyStepTwoService;
import com.sztzjy.linkCommerce.service.NewProductSurveyStepThreeService;
import com.sztzjy.linkCommerce.service.NewProductSurveyStepFourService;
import com.sztzjy.linkCommerce.service.ProductDevelopmentFactorsStepOneService;
import com.sztzjy.linkCommerce.service.StudentTrainingAnswerService;
import com.sztzjy.linkCommerce.util.ResultEntity;
import io.swagger.annotations.Api;
@ -45,6 +48,9 @@ public class StudentTrainingAnswerController {
@Autowired
private NewProductSurveyStepFourService newProductSurveyStepFourService;
@Autowired
private ProductDevelopmentFactorsStepOneService productDevelopmentFactorsStepOneService;
@GetMapping("/{taskKey}")
@ApiOperation("查询当前学生指定实训任务答案")
public ResultEntity<StudentTrainingAnswer> detail(@PathVariable String taskKey,
@ -119,6 +125,18 @@ public class StudentTrainingAnswerController {
}
}
@PostMapping("/product-development-factors/step-1/validate")
@ApiOperation("产品开发关键因素第一步校验")
public ResultEntity<ProductDevelopmentFactorsStepOneValidationResult> validateProductDevelopmentFactorsStepOne(
@RequestBody ProductDevelopmentFactorsStepOneValidationRequest answer, HttpServletRequest request) {
try {
JwtUser user = TokenProvider.getJWTUser(request);
return new ResultEntity<>(HttpStatus.OK, "校验通过", productDevelopmentFactorsStepOneService.validate(answer, user));
} catch (ServiceException e) {
return new ResultEntity<>(e.getCode(), e.getMessage());
}
}
@DeleteMapping("/{taskKey}")
@ApiOperation("删除当前学生指定实训任务答案")
public ResultEntity delete(@PathVariable String taskKey,

@ -11,10 +11,13 @@ import com.sztzjy.linkCommerce.entity.dto.NewProductSurveyStepThreeValidationReq
import com.sztzjy.linkCommerce.entity.dto.NewProductSurveyStepThreeValidationResult;
import com.sztzjy.linkCommerce.entity.dto.NewProductSurveyStepFourValidationRequest;
import com.sztzjy.linkCommerce.entity.dto.NewProductSurveyStepFourValidationResult;
import com.sztzjy.linkCommerce.entity.dto.ProductDevelopmentFactorsStepOneValidationRequest;
import com.sztzjy.linkCommerce.entity.dto.ProductDevelopmentFactorsStepOneValidationResult;
import com.sztzjy.linkCommerce.service.NewProductSurveyStepOneService;
import com.sztzjy.linkCommerce.service.NewProductSurveyStepTwoService;
import com.sztzjy.linkCommerce.service.NewProductSurveyStepThreeService;
import com.sztzjy.linkCommerce.service.NewProductSurveyStepFourService;
import com.sztzjy.linkCommerce.service.ProductDevelopmentFactorsStepOneService;
import com.sztzjy.linkCommerce.util.ResultEntity;
import org.junit.jupiter.api.Test;
import org.springframework.http.HttpStatus;
@ -99,6 +102,24 @@ class StudentTrainingAnswerControllerTest {
verify(service).validate(any(NewProductSurveyStepFourValidationRequest.class), any(JwtUser.class));
}
@Test
void validateProductDevelopmentFactorsStepOneUsesTheAuthenticatedStudentAndReturnsTheValidationResult() {
StudentTrainingAnswerController controller = new StudentTrainingAnswerController();
ProductDevelopmentFactorsStepOneService service = mock(ProductDevelopmentFactorsStepOneService.class);
ReflectionTestUtils.setField(controller, "productDevelopmentFactorsStepOneService", service);
ProductDevelopmentFactorsStepOneValidationResult validation = new ProductDevelopmentFactorsStepOneValidationResult();
validation.setValid(true);
when(service.validate(any(ProductDevelopmentFactorsStepOneValidationRequest.class), any(JwtUser.class))).thenReturn(validation);
ProductDevelopmentFactorsStepOneValidationRequest answer = new ProductDevelopmentFactorsStepOneValidationRequest();
ResultEntity<ProductDevelopmentFactorsStepOneValidationResult> result = controller
.validateProductDevelopmentFactorsStepOne(answer, authenticatedStudentRequest());
assertEquals(HttpStatus.OK, result.getStatusCode());
assertEquals(validation, result.getBody().getData());
verify(service).validate(any(ProductDevelopmentFactorsStepOneValidationRequest.class), any(JwtUser.class));
}
private HttpServletRequest authenticatedStudentRequest() {
JwtUser user = new JwtUser();
user.setUserId("stu-1");

Loading…
Cancel
Save