reader.setArguments(this.arguments); reader.setRepository(this.repository); reader.setMethodName(this.methodName); reader.setPageSize(this.pageSize); reader.setCurrentItemCount(this.currentItemCount);
@Before public void setUp() throws Exception { MockitoAnnotations.initMocks(this); sorts = new HashMap<>(); sorts.put("id", Direction.ASC); reader = new RepositoryItemReader<>(); reader.setRepository(repository); reader.setPageSize(1); reader.setSort(sorts); reader.setMethodName("findAll"); }
@Test public void testInvalidMethodName() throws Exception { reader.setMethodName("thisMethodDoesNotExist"); try { reader.doPageRead(); fail(); } catch (DynamicMethodInvocationException dmie) { assertTrue(dmie.getCause() instanceof NoSuchMethodException); } }
@Test public void testDifferentTypes() throws Exception { TestRepository differentRepository = mock(TestRepository.class); RepositoryItemReader<String> reader = new RepositoryItemReader<>(); sorts = new HashMap<>(); sorts.put("id", Direction.ASC); reader.setRepository(differentRepository); reader.setPageSize(1); reader.setSort(sorts); reader.setMethodName("findFirstNames"); ArgumentCaptor<PageRequest> pageRequestContainer = ArgumentCaptor.forClass(PageRequest.class); when(differentRepository.findFirstNames(pageRequestContainer.capture())).thenReturn(new PageImpl<>(new ArrayList<String>(){{ add("result"); }})); assertEquals("result", reader.doRead()); Pageable pageRequest = pageRequestContainer.getValue(); assertEquals(0, pageRequest.getOffset()); assertEquals(0, pageRequest.getPageNumber()); assertEquals(1, pageRequest.getPageSize()); assertEquals("id: ASC", pageRequest.getSort().toString()); }
reader.setArguments(this.arguments); reader.setRepository(this.repository); reader.setMethodName(this.methodName); reader.setPageSize(this.pageSize); reader.setCurrentItemCount(this.currentItemCount);