package org.openlmis.core.presenter; import com.google.inject.AbstractModule; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.openlmis.core.LMISTestRunner; import org.openlmis.core.model.RnRForm; import org.openlmis.core.model.repository.MMIARepository; import org.robolectric.RuntimeEnvironment; import roboguice.RoboGuice; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; @RunWith(LMISTestRunner.class) public class BaseRequisitionPresenterTest { private BaseRequisitionPresenter presenter; private MMIARepository mockRnrFormRepository; @Before public void setUp() throws Exception { mockRnrFormRepository = mock(MMIARepository.class); RoboGuice.overrideApplicationInjector(RuntimeEnvironment.application, new MyTestModule()); MMIARequisitionPresenter.MMIARequisitionView mock = mock(MMIARequisitionPresenter.MMIARequisitionView.class); presenter = RoboGuice.getInjector(RuntimeEnvironment.application).getInstance(MMIARequisitionPresenter.class); presenter.attachView(mock); } @Test public void shouldDeleteDraft() throws Exception { presenter.isHistoryForm = false; presenter.rnRForm = new RnRForm(); presenter.deleteDraft(); verify(mockRnrFormRepository).removeRnrForm(presenter.rnRForm); } public class MyTestModule extends AbstractModule { @Override protected void configure() { bind(MMIARepository.class).toInstance(mockRnrFormRepository); } } }