package ua.kpi.ecampus.ui.presenter; import android.content.Context; import org.junit.Before; import org.junit.Test; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import java.util.ArrayList; import java.util.Collection; import java.util.List; import ua.kpi.ecampus.model.dao.BulletinDao; import ua.kpi.ecampus.model.pojo.Bulletin; import ua.kpi.ecampus.ui.Navigator; import ua.kpi.ecampus.ui.activity.BulletinBoardActivity; import static junit.framework.Assert.assertEquals; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; /** * Created by Admin on 17.05.2016. */ public class BulletinBoardPresenterTest { private BulletinBoardPresenter mPresenter; @Mock private BulletinBoardPresenter.IView mView; @Mock private Navigator mNavigator; @Mock private BulletinDao mDataAccess; @Mock private Context mContext; @Before public void setUp() { MockitoAnnotations.initMocks(this); mPresenter = new BulletinBoardPresenter(mContext, mNavigator); mView = mock(BulletinBoardActivity.class); mPresenter.setView(mView); mPresenter.setDao(mDataAccess); } @Test public void initializeViewComponent() { mPresenter.initializeViewComponent(); verify(mView).setViewComponent(); } @Test public void openBulletinModeratorActivity() { mPresenter.openBulletinModeratorActivity(); verify(mNavigator).startBulletinBoardModeratorActivity(); } @Test public void onItemClick() { Bulletin b = new Bulletin("1", "theme", "author", "2016"); mPresenter.onItemClick(b); verify(mNavigator).startBulletinContentActivity(b); } @Test public void getData() { mPresenter.getData(); verify(mDataAccess).getData(); } @Test public void getSelectedByProfile() { mPresenter.getSelectedByProfile(); verify(mDataAccess).getFilteredByProfile(); } @Test public void getSelectedBySubdivision() { mPresenter.getSelectedBySubdivision(); verify(mDataAccess).getFilteredBySubdiv(); } @Test public void filterData() { List<Bulletin> list = mPresenter.filterData(createBulletinList(), "a"); assertEquals(1, list.size()); } private Collection<Bulletin> createBulletinList() { return new ArrayList<Bulletin>() { { add(new Bulletin("1", "aSubject", "author", "2016")); add(new Bulletin("1", "bSubject", "author", "2016")); } }; } }