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