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.
40 lines
1.6 KiB
Java
40 lines
1.6 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.TargetUserProfileStepOneValidationRequest;
|
|
import org.junit.jupiter.api.Test;
|
|
|
|
import static org.junit.jupiter.api.Assertions.assertThrows;
|
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
|
|
|
class TargetUserProfileStepOneServiceImplTest {
|
|
@Test
|
|
void validatesStudentRfmExcelWithPreview() {
|
|
assertTrue(new TargetUserProfileStepOneServiceImpl().validate(request("rfm.xlsx", 20, 6), student()).isValid());
|
|
}
|
|
|
|
@Test
|
|
void rejectsNonExcelFileAndUnpreviewableWorkbook() {
|
|
TargetUserProfileStepOneServiceImpl service = new TargetUserProfileStepOneServiceImpl();
|
|
assertThrows(ServiceException.class, () -> service.validate(request("rfm.pdf", 2, 6), student()));
|
|
assertThrows(ServiceException.class, () -> service.validate(request("rfm.xlsx", 0, 0), student()));
|
|
}
|
|
|
|
private TargetUserProfileStepOneValidationRequest request(String excelName, int rows, int columns) {
|
|
TargetUserProfileStepOneValidationRequest request = new TargetUserProfileStepOneValidationRequest();
|
|
request.setExcelName(excelName);
|
|
request.setExcelUrl("/profile/" + excelName);
|
|
request.setPreviewRowCount(rows);
|
|
request.setPreviewColumnCount(columns);
|
|
return request;
|
|
}
|
|
|
|
private JwtUser student() {
|
|
JwtUser user = new JwtUser();
|
|
user.setUserId("stu-1");
|
|
user.setRoleId(4);
|
|
return user;
|
|
}
|
|
}
|