package pl.edu.icm.saos.enrichment.hash; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; import org.springframework.batch.item.ExecutionContext; import pl.edu.icm.saos.persistence.repository.JudgmentRepository; import com.google.common.collect.Lists; /** * @author madryk */ @RunWith(MockitoJUnitRunner.class) public class UpdateEnrichmentHashReaderTest { @InjectMocks private UpdateEnrichmentHashReader updateEnrichmentHashReader = new UpdateEnrichmentHashReader(); @Mock private JudgmentRepository judgmentRepository; @Mock private JudgmentEnrichmentTagsFetcher judgmentEnrichmentTagsFetcher; @Before public void setUp() { updateEnrichmentHashReader.setJudgmentsEnrichmentTagsPageSize(2); } //------------------------ TESTS -------------------------- @Test public void read() throws Exception { // given JudgmentEnrichmentTags judgmentEnrichmentTags1 = new JudgmentEnrichmentTags(1L); JudgmentEnrichmentTags judgmentEnrichmentTags2 = new JudgmentEnrichmentTags(2L); JudgmentEnrichmentTags judgmentEnrichmentTags3 = new JudgmentEnrichmentTags(3L); when(judgmentRepository.findAllIds()).thenReturn(Lists.newArrayList(1L, 2L, 3L)); when(judgmentEnrichmentTagsFetcher.fetchEnrichmentTagsForJudgments(Lists.newArrayList(1L, 2L))) .thenReturn(Lists.newArrayList(judgmentEnrichmentTags1, judgmentEnrichmentTags2)); when(judgmentEnrichmentTagsFetcher.fetchEnrichmentTagsForJudgments(Lists.newArrayList(3L))) .thenReturn(Lists.newArrayList(judgmentEnrichmentTags3)); updateEnrichmentHashReader.open(mock(ExecutionContext.class)); // execute JudgmentEnrichmentTags retJudgmentEnrichmentTags1 = updateEnrichmentHashReader.read(); JudgmentEnrichmentTags retJudgmentEnrichmentTags2 = updateEnrichmentHashReader.read(); JudgmentEnrichmentTags retJudgmentEnrichmentTags3 = updateEnrichmentHashReader.read(); JudgmentEnrichmentTags retJudgmentEnrichmentTags4 = updateEnrichmentHashReader.read(); // assert assertTrue(judgmentEnrichmentTags1 == retJudgmentEnrichmentTags1); assertTrue(judgmentEnrichmentTags2 == retJudgmentEnrichmentTags2); assertTrue(judgmentEnrichmentTags3 == retJudgmentEnrichmentTags3); assertNull(retJudgmentEnrichmentTags4); } }