package brainslug.jpa;
import com.mysema.query.jpa.JPQLTemplates;
import org.junit.Test;
import javax.persistence.EntityManager;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
public class DatabaseTest {
/**
* only flushed entities will be found be JPA queries,
* so if e.g. we are getting the instance at the end of creation
* it will have the inserted tokens, properties
*/
@Test
public void shouldFlushAfterPersist() {
// given:
JPQLTemplates templates = mock(JPQLTemplates.class);
EntityManager entityManager = mock(EntityManager.class);
// when:
Object entity = new Object();
new Database(entityManager, templates).insertOrUpdate(entity);
// then:
verify(entityManager).persist(entity);
verify(entityManager).flush();
}
}