feat: initialize school default tasks asynchronously
parent
a20905f638
commit
b760a5cfee
@ -0,0 +1,50 @@
|
||||
package com.sztzjy.linkCommerce.controller.platformadmin;
|
||||
|
||||
import com.sztzjy.linkCommerce.config.security.JwtUser;
|
||||
import com.sztzjy.linkCommerce.config.security.TokenProvider;
|
||||
import com.sztzjy.linkCommerce.entity.School;
|
||||
import com.sztzjy.linkCommerce.mapper.SchoolMapper;
|
||||
import com.sztzjy.linkCommerce.service.PlatformAdminService;
|
||||
import com.sztzjy.linkCommerce.service.SchoolDefaultTaskService;
|
||||
import com.sztzjy.linkCommerce.service.SchoolProductConfigService;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
|
||||
import org.springframework.mock.web.MockHttpServletRequest;
|
||||
import org.springframework.test.util.ReflectionTestUtils;
|
||||
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.Mockito.*;
|
||||
|
||||
class PlatformAdminControllerDefaultTaskTest {
|
||||
|
||||
@Test
|
||||
void queuesDefaultTaskInitializationAfterSchoolCreationSucceeds() {
|
||||
PlatformAdminController controller = new PlatformAdminController();
|
||||
PlatformAdminService platformAdminService = mock(PlatformAdminService.class);
|
||||
SchoolProductConfigService configService = mock(SchoolProductConfigService.class);
|
||||
SchoolDefaultTaskService defaultTaskService = mock(SchoolDefaultTaskService.class);
|
||||
SchoolMapper schoolMapper = mock(SchoolMapper.class);
|
||||
ReflectionTestUtils.setField(controller, "platformAdminService", platformAdminService);
|
||||
ReflectionTestUtils.setField(controller, "schoolProductConfigService", configService);
|
||||
ReflectionTestUtils.setField(controller, "schoolDefaultTaskService", defaultTaskService);
|
||||
ReflectionTestUtils.setField(controller, "schoolMapper", schoolMapper);
|
||||
when(schoolMapper.insertSelective(any())).thenReturn(1);
|
||||
|
||||
School school = new School();
|
||||
school.setSchoolName("异步初始化学校");
|
||||
controller.addSchool(school, platformAdminRequest());
|
||||
|
||||
verify(defaultTaskService).enqueueInitialization(school.getSchoolId());
|
||||
}
|
||||
|
||||
private MockHttpServletRequest platformAdminRequest() {
|
||||
JwtUser user = new JwtUser();
|
||||
user.setUserId("platform-1");
|
||||
user.setRoleId(1);
|
||||
user.setUsername("platform-admin");
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
request.setUserPrincipal(new UsernamePasswordAuthenticationToken(user, null));
|
||||
request.addHeader("Authorization", "Bearer " + TokenProvider.createToken(user));
|
||||
return request;
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue