|
|
|
@ -3,6 +3,7 @@ package com.sztzjy.linkCommerce.controller.stu;
|
|
|
|
import com.sztzjy.linkCommerce.entity.School;
|
|
|
|
import com.sztzjy.linkCommerce.entity.School;
|
|
|
|
import com.sztzjy.linkCommerce.entity.SchoolClass;
|
|
|
|
import com.sztzjy.linkCommerce.entity.SchoolClass;
|
|
|
|
import com.sztzjy.linkCommerce.entity.SchoolClassExample;
|
|
|
|
import com.sztzjy.linkCommerce.entity.SchoolClassExample;
|
|
|
|
|
|
|
|
import com.sztzjy.linkCommerce.entity.dto.SchoolClassDto;
|
|
|
|
import com.sztzjy.linkCommerce.entity.SchoolFaculty;
|
|
|
|
import com.sztzjy.linkCommerce.entity.SchoolFaculty;
|
|
|
|
import com.sztzjy.linkCommerce.entity.SchoolMajor;
|
|
|
|
import com.sztzjy.linkCommerce.entity.SchoolMajor;
|
|
|
|
import com.sztzjy.linkCommerce.entity.TeachingClassStudent;
|
|
|
|
import com.sztzjy.linkCommerce.entity.TeachingClassStudent;
|
|
|
|
@ -16,6 +17,7 @@ import com.sztzjy.linkCommerce.mapper.TeachingClassStudentMapper;
|
|
|
|
import com.sztzjy.linkCommerce.mapper.UserinfoMapper;
|
|
|
|
import com.sztzjy.linkCommerce.mapper.UserinfoMapper;
|
|
|
|
import com.sztzjy.linkCommerce.service.UserInfoService;
|
|
|
|
import com.sztzjy.linkCommerce.service.UserInfoService;
|
|
|
|
import com.sztzjy.linkCommerce.service.SchoolProductConfigService;
|
|
|
|
import com.sztzjy.linkCommerce.service.SchoolProductConfigService;
|
|
|
|
|
|
|
|
import com.sztzjy.linkCommerce.service.SchoolService;
|
|
|
|
import com.sztzjy.linkCommerce.entity.importDto.SchoolAdminStudentImportDTO;
|
|
|
|
import com.sztzjy.linkCommerce.entity.importDto.SchoolAdminStudentImportDTO;
|
|
|
|
import com.sztzjy.linkCommerce.entity.importDto.TeachingClassStudentImportDTO;
|
|
|
|
import com.sztzjy.linkCommerce.entity.importDto.TeachingClassStudentImportDTO;
|
|
|
|
import com.sztzjy.linkCommerce.util.Pinyin4jUtil;
|
|
|
|
import com.sztzjy.linkCommerce.util.Pinyin4jUtil;
|
|
|
|
@ -43,6 +45,36 @@ import static org.mockito.Mockito.when;
|
|
|
|
|
|
|
|
|
|
|
|
class UserControllerTeacherAdminTest {
|
|
|
|
class UserControllerTeacherAdminTest {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
|
|
|
void teacherAdminClassListIncludesEveryTeachingClassInSchool() {
|
|
|
|
|
|
|
|
UserController controller = controllerWithCommonMocks();
|
|
|
|
|
|
|
|
controller.schoolService = mock(SchoolService.class);
|
|
|
|
|
|
|
|
when(controller.schoolProductConfigService.isTeacherRosterManaged("school-1")).thenReturn(true);
|
|
|
|
|
|
|
|
when(controller.schoolService.seleteSchoolClass(1, 10, "school-1", null, null, null, null, "TEACHING"))
|
|
|
|
|
|
|
|
.thenReturn(new PageInfo<>());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ResultEntity<PageInfo<SchoolClassDto>> result = controller.seleteSchoolClass(
|
|
|
|
|
|
|
|
1, 10, "other-school", null, null, null, "teacher-admin");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assertEquals(HttpStatus.OK, result.getStatusCode());
|
|
|
|
|
|
|
|
verify(controller.schoolService).seleteSchoolClass(
|
|
|
|
|
|
|
|
1, 10, "school-1", null, null, null, null, "TEACHING");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
|
|
|
void ordinaryTeacherClassListRemainsLimitedToOwnedTeachingClasses() {
|
|
|
|
|
|
|
|
UserController controller = controllerWithCommonMocks();
|
|
|
|
|
|
|
|
controller.schoolService = mock(SchoolService.class);
|
|
|
|
|
|
|
|
when(controller.schoolProductConfigService.isTeacherRosterManaged("school-1")).thenReturn(true);
|
|
|
|
|
|
|
|
when(controller.schoolService.seleteSchoolClass(1, 10, "school-1", null, null, null, "teacher-1", "TEACHING"))
|
|
|
|
|
|
|
|
.thenReturn(new PageInfo<>());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
controller.seleteSchoolClass(1, 10, "other-school", null, null, null, "teacher-1");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
verify(controller.schoolService).seleteSchoolClass(
|
|
|
|
|
|
|
|
1, 10, "school-1", null, null, null, "teacher-1", "TEACHING");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
@Test
|
|
|
|
void addTeacherAccountAlwaysCreatesOrdinaryTeacher() {
|
|
|
|
void addTeacherAccountAlwaysCreatesOrdinaryTeacher() {
|
|
|
|
UserController controller = controllerWithCommonMocks();
|
|
|
|
UserController controller = controllerWithCommonMocks();
|
|
|
|
@ -505,6 +537,21 @@ class UserControllerTeacherAdminTest {
|
|
|
|
verify(controller.schoolClassMapper, never()).deleteByPrimaryKey("class-1");
|
|
|
|
verify(controller.schoolClassMapper, never()).deleteByPrimaryKey("class-1");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
|
|
|
void teacherAdminCanDeleteAnotherTeachersLocalClassInSameSchool() {
|
|
|
|
|
|
|
|
UserController controller = controllerWithCommonMocks();
|
|
|
|
|
|
|
|
SchoolClass schoolClass = classCreatedBy("teacher-2");
|
|
|
|
|
|
|
|
schoolClass.setDataSource("LOCAL");
|
|
|
|
|
|
|
|
when(controller.schoolClassMapper.selectByPrimaryKey("class-1")).thenReturn(schoolClass);
|
|
|
|
|
|
|
|
when(controller.teachingClassStudentMapper.countByTeachingClassId("class-1")).thenReturn(0L);
|
|
|
|
|
|
|
|
when(controller.schoolClassMapper.deleteByPrimaryKey("class-1")).thenReturn(1);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ResultEntity result = controller.deleteSchoolClass("class-1", "teacher-admin");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assertEquals(HttpStatus.OK, result.getStatusCode());
|
|
|
|
|
|
|
|
verify(controller.schoolClassMapper).deleteByPrimaryKey("class-1");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
@Test
|
|
|
|
void teacherAdminCanDeleteOwnLocalAdminClass() {
|
|
|
|
void teacherAdminCanDeleteOwnLocalAdminClass() {
|
|
|
|
UserController controller = controllerWithCommonMocks();
|
|
|
|
UserController controller = controllerWithCommonMocks();
|
|
|
|
@ -594,6 +641,24 @@ class UserControllerTeacherAdminTest {
|
|
|
|
verify(controller.schoolClassMapper, never()).deleteByPrimaryKey("class-1");
|
|
|
|
verify(controller.schoolClassMapper, never()).deleteByPrimaryKey("class-1");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
|
|
|
void teacherAdminCanUpdateAnotherTeachersLocalClassInSameSchool() {
|
|
|
|
|
|
|
|
UserController controller = controllerWithCommonMocks();
|
|
|
|
|
|
|
|
SchoolClass existing = classCreatedBy("teacher-2");
|
|
|
|
|
|
|
|
existing.setDataSource("LOCAL");
|
|
|
|
|
|
|
|
SchoolClass update = new SchoolClass();
|
|
|
|
|
|
|
|
update.setSchoolClassId("class-1");
|
|
|
|
|
|
|
|
update.setClassName("updated-class");
|
|
|
|
|
|
|
|
when(controller.schoolClassMapper.selectByPrimaryKey("class-1")).thenReturn(existing);
|
|
|
|
|
|
|
|
when(controller.schoolClassMapper.updateByPrimaryKeySelective(any(SchoolClass.class))).thenReturn(1);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ResultEntity result = controller.updateSchoolClass(update, "teacher-admin");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assertEquals(HttpStatus.OK, result.getStatusCode());
|
|
|
|
|
|
|
|
verify(controller.schoolClassMapper).updateByPrimaryKeySelective(update);
|
|
|
|
|
|
|
|
assertEquals("teacher-2", update.getCreatedBy());
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
@Test
|
|
|
|
void teacherAdminCanUpdateOwnLocalAdminClass() {
|
|
|
|
void teacherAdminCanUpdateOwnLocalAdminClass() {
|
|
|
|
UserController controller = controllerWithCommonMocks();
|
|
|
|
UserController controller = controllerWithCommonMocks();
|
|
|
|
|