package pl.edu.icm.saos.importer.commoncourt.judgment.remove; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verifyNoMoreInteractions; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; import com.google.common.collect.Lists; import pl.edu.icm.saos.enrichment.delete.JudgmentWithEnrichmentDeleter; import pl.edu.icm.saos.persistence.model.DeletedJudgment; import pl.edu.icm.saos.persistence.model.SourceCode; import pl.edu.icm.saos.persistence.repository.DeletedJudgmentRepository; /** * @author madryk */ @RunWith(MockitoJUnitRunner.class) public class CcjDeleteRemovedWriterTest { @InjectMocks private CcjDeleteRemovedWriter ccjDeleteRemovedWriter = new CcjDeleteRemovedWriter(); @Mock private JudgmentWithEnrichmentDeleter judgmentWithEnrichmentDeleter; @Mock private DeletedJudgmentRepository deletedJudgmentRepository; //------------------------ TESTS -------------------------- @Test public void write() throws Exception { // given DeletedJudgment judgmentToRemove1 = createDeletedJudgment(1L, "AA1"); DeletedJudgment judgmentToRemove2 = createDeletedJudgment(2L, "AA2"); // execute ccjDeleteRemovedWriter.write(Lists.newArrayList(judgmentToRemove1, judgmentToRemove2)); // assert verify(judgmentWithEnrichmentDeleter).delete(Lists.newArrayList(1L, 2L)); verify(deletedJudgmentRepository).save(Lists.newArrayList(judgmentToRemove1, judgmentToRemove2)); verifyNoMoreInteractions(judgmentWithEnrichmentDeleter, deletedJudgmentRepository); } //------------------------ PRIVATE -------------------------- private DeletedJudgment createDeletedJudgment(long judgmentId, String sourceJudgmentId) { DeletedJudgment deletedJudgment = new DeletedJudgment(); deletedJudgment.setJudgmentId(judgmentId); deletedJudgment.getSourceInfo().setSourceCode(SourceCode.COMMON_COURT); deletedJudgment.getSourceInfo().setSourceJudgmentId(sourceJudgmentId); return deletedJudgment; } }