package com.tddinaction.ejb3.entitybeans.ejb3; import static org.easymock.EasyMock.createMock; import static org.easymock.EasyMock.expect; import static org.easymock.EasyMock.replay; import static org.easymock.EasyMock.verify; import javax.persistence.EntityManager; import javax.persistence.Query; import org.junit.Assert; import org.junit.Test; import org.laughingpanda.beaninject.Inject; public class UserManagerBeanTest { private final String username = "bob"; @Test public void findingUserByUsername() throws Exception { EntityManager em = createMock(EntityManager.class); Query q = createMock(Query.class); User user = createDummyUser(username); expect(em.createNamedQuery("findUserByUsername")) .andReturn(q); expect(q.setParameter("username", username)).andReturn(q); expect(q.getSingleResult()).andReturn(user); replay(em, q); UserManagerBean bean = new UserManagerBean(); Inject.bean(bean).with(em); Assert.assertEquals(user, bean.findByUsername(username)); verify(em, q); } private User createDummyUser(String username) { User user = new User(); user.setUsername(username); user.setPassword("secret"); return user; } }