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 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()))); } }