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.

42 lines
2.0 KiB
Java

package com.sztzjy.linkCommerce.service.impl;
import com.sztzjy.linkCommerce.entity.SchoolClassExample;
import com.sztzjy.linkCommerce.mapper.SchoolClassMapper;
import com.sztzjy.linkCommerce.mapper.SchoolFacultyMapper;
import com.sztzjy.linkCommerce.mapper.SchoolMajorMapper;
import com.sztzjy.linkCommerce.mapper.SchoolMapper;
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.assertTrue;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
class SchoolServiceImplTest {
@Test
void classQueryCanRestrictResultsToTheOwningTeacherTeachingClasses() {
SchoolServiceImpl service = new SchoolServiceImpl();
service.schoolMapper = mock(SchoolMapper.class);
service.schoolFacultyMapper = mock(SchoolFacultyMapper.class);
service.schoolMajorMapper = mock(SchoolMajorMapper.class);
service.schoolClassMapper = mock(SchoolClassMapper.class);
service.userinfoMapper = mock(UserinfoMapper.class);
when(service.schoolClassMapper.selectByExample(org.mockito.ArgumentMatchers.any(SchoolClassExample.class)))
.thenReturn(Collections.emptyList());
service.seleteSchoolClass(1, 10, "school-1", "", "", "", "teacher-1", "TEACHING");
ArgumentCaptor<SchoolClassExample> example = ArgumentCaptor.forClass(SchoolClassExample.class);
verify(service.schoolClassMapper).selectByExample(example.capture());
assertTrue(example.getValue().getOredCriteria().get(0).getAllCriteria().stream()
.anyMatch(c -> "created_by =".equals(c.getCondition()) && "teacher-1".equals(c.getValue())));
assertTrue(example.getValue().getOredCriteria().get(0).getAllCriteria().stream()
.anyMatch(c -> "class_type =".equals(c.getCondition()) && "TEACHING".equals(c.getValue())));
}
}