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.BulletinModeratorDao; import ua.kpi.ecampus.model.pojo.Bulletin; import ua.kpi.ecampus.ui.Navigator; import ua.kpi.ecampus.ui.activity.BulletinBoardModeratorActivity; 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 BulletinBoardModeratorPresenterTest { private BulletinBoardModeratorPresenter mPresenter; @Mock private BulletinBoardModeratorPresenter.IView mView; @Mock private Navigator mNavigator; @Mock private BulletinModeratorDao mDataAccess; @Mock private Context mContext; @Before public void setUp() { MockitoAnnotations.initMocks(this); mPresenter = new BulletinBoardModeratorPresenter(mContext, mNavigator); mView = mock(BulletinBoardModeratorActivity.class); mPresenter.setView(mView); mPresenter.setDao(mDataAccess); } @Test public void initializeViewComponent() { mPresenter.initializeViewComponent(); verify(mView).setViewComponent(); } @Test public void onAddBulletin() { mPresenter.onButtonAddClick(); verify(mNavigator).startNewBulletinActivity(); } @Test public void onEditBulletin() { Bulletin b = new Bulletin("1", "theme", "author", "2016"); mPresenter.onEditMenuClick(b); verify(mNavigator).startEditBulletinActivity(b); } @Test public void getData() { mPresenter.getData(); verify(mDataAccess).getData(); } @Test public void getSelectedByProfile() { mPresenter.getFilteredByProfile(); verify(mDataAccess).getFilteredByProfile(); } @Test public void getSelectedBySubdivision() { mPresenter.getFilteredBySubdivision(); verify(mDataAccess).getFilteredBySubdiv(); } @Test public void getFilteredByDate() { mPresenter.getFilteredByDate(); verify(mDataAccess).getNotExpired(); } @Test public void getDeletedBulletins() { mPresenter.getDeletedBulletins(); verify(mDataAccess).getDeleted(); } @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")); } }; } }