import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.invocation.InvocationOnMock;
import org.mockito.runners.MockitoJUnitRunner;
import org.mockito.stubbing.Answer;
@RunWith( MockitoJUnitRunner.class )
public class DaoTest {
@InjectMocks
private Dao dao;
@Mock
private Manager managerMock;
@Mock
private ViewManager viewManager;
// mocks needed just to prevent NPE - listed as protected to avoid java unused warnings
@Mock
protected Utils utilsMock;
@Mock
private CurrentUser currentUserMock;
@Before
public void setup() {
User user = new User();
Mockito.doReturn( user ).when( currentUserMock ).get();
Mockito.doReturn( "Engineer" ).when( currentUserMock ).getTitle(Mockito.any( Locale.class ) );
Mockito.doReturn( Long.valueOf(100000) ).when( currentUserMock ).getIncome(Mockito.eq( "USD" ) );
}
@Test
public void testCreateNewThing() {
Thing thing = dao.createNewThing( currentUser );
// assertions
assertNotNull( thing );
}
}