feat: add school organization capability switches
parent
01e68b255b
commit
f4f354b367
@ -0,0 +1,9 @@
|
||||
ALTER TABLE school_product_config
|
||||
ADD COLUMN faculty_management_enabled TINYINT(1) NOT NULL DEFAULT 1 COMMENT 'whether faculty management is enabled' AFTER student_roster_owner,
|
||||
ADD COLUMN major_management_enabled TINYINT(1) NOT NULL DEFAULT 1 COMMENT 'whether major management is enabled' AFTER faculty_management_enabled,
|
||||
ADD COLUMN admin_class_management_enabled TINYINT(1) NOT NULL DEFAULT 1 COMMENT 'whether administrative class management is enabled' AFTER major_management_enabled;
|
||||
|
||||
UPDATE school_product_config
|
||||
SET faculty_management_enabled = CASE WHEN organization_mode = 'TEACHING_CLASS_ONLY' THEN 0 ELSE 1 END,
|
||||
major_management_enabled = CASE WHEN organization_mode = 'TEACHING_CLASS_ONLY' THEN 0 ELSE 1 END,
|
||||
admin_class_management_enabled = CASE WHEN organization_mode = 'TEACHING_CLASS_ONLY' THEN 0 ELSE 1 END;
|
||||
@ -0,0 +1,40 @@
|
||||
package com.sztzjy.linkCommerce.service.impl;
|
||||
|
||||
import com.sztzjy.linkCommerce.entity.SchoolClass;
|
||||
import com.sztzjy.linkCommerce.entity.Userinfo;
|
||||
import com.sztzjy.linkCommerce.mapper.SchoolClassMapper;
|
||||
import com.sztzjy.linkCommerce.mapper.UserinfoMapper;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.mockito.ArgumentCaptor;
|
||||
|
||||
import java.util.Collections;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
class UserInfoServiceImplOrganizationModeTest {
|
||||
|
||||
@Test
|
||||
void teacherWithoutMajorSeesOnlyTeachingClassesTheyCreated() {
|
||||
UserInfoServiceImpl service = new UserInfoServiceImpl();
|
||||
service.userInfoMapper = mock(UserinfoMapper.class);
|
||||
service.schoolClassMapper = mock(SchoolClassMapper.class);
|
||||
Userinfo teacher = new Userinfo();
|
||||
teacher.setUserId("teacher-zj");
|
||||
teacher.setSchoolId("school-zj");
|
||||
teacher.setSchoolMajorId(null);
|
||||
SchoolClass teachingClass = new SchoolClass();
|
||||
teachingClass.setClassName("电商实训一班");
|
||||
when(service.userInfoMapper.selectByPrimaryKey("teacher-zj")).thenReturn(teacher);
|
||||
when(service.schoolClassMapper.selectByExample(org.mockito.ArgumentMatchers.any()))
|
||||
.thenReturn(Collections.singletonList(teachingClass));
|
||||
|
||||
assertEquals(Collections.singletonList("电商实训一班"), service.getClassNameList("teacher-zj"));
|
||||
|
||||
ArgumentCaptor<com.sztzjy.linkCommerce.entity.SchoolClassExample> example = ArgumentCaptor.forClass(com.sztzjy.linkCommerce.entity.SchoolClassExample.class);
|
||||
verify(service.schoolClassMapper).selectByExample(example.capture());
|
||||
assertEquals(3, example.getValue().getOredCriteria().get(0).getAllCriteria().size());
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue