package pl.edu.icm.saos.enrichment.hash;
import static org.mockito.Mockito.inOrder;
import java.util.List;
import javax.persistence.EntityManager;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InOrder;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;
import com.google.common.collect.Lists;
import pl.edu.icm.saos.persistence.enrichment.JudgmentEnrichmentHashRepository;
import pl.edu.icm.saos.persistence.enrichment.model.JudgmentEnrichmentHash;
/**
* @author madryk
*/
@RunWith(MockitoJUnitRunner.class)
public class UpdateEnrichmentHashWriterTest {
@InjectMocks
private UpdateEnrichmentHashWriter updateEnrichmentHashWriter = new UpdateEnrichmentHashWriter();
@Mock
private JudgmentEnrichmentHashRepository judgmentEnrichmentHashRepository;
@Mock
private EntityManager entityManager;
public void setUp() {
updateEnrichmentHashWriter.setJudgmentEnrichmentHashRepository(judgmentEnrichmentHashRepository);
}
//------------------------ TESTS --------------------------
@Test
public void write() throws Exception {
// given
JudgmentEnrichmentHash hash1 = new JudgmentEnrichmentHash();
JudgmentEnrichmentHash hash2 = new JudgmentEnrichmentHash();
List<JudgmentEnrichmentHash> hashes = Lists.newArrayList(hash1, hash2);
// execute
updateEnrichmentHashWriter.write(hashes);
// assert
InOrder inOrder = inOrder(judgmentEnrichmentHashRepository, entityManager);
inOrder.verify(judgmentEnrichmentHashRepository).save(hashes);
inOrder.verify(judgmentEnrichmentHashRepository).flush();
inOrder.verify(entityManager).clear();
}
}