package com.rapidftr.controllers; import com.rapidftr.controllers.internal.Dispatcher; import com.rapidftr.screens.internal.CustomScreen; import com.rapidftr.screens.internal.UiStack; import com.rapidftr.utilities.Settings; import org.junit.Before; import org.junit.Test; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; public class HomeControllerTest { private CustomScreen screen; private UiStack uiStack; private Settings settings; private Dispatcher dispatcher; private HomeController homeController; @Before public void setup() { screen = mock(CustomScreen.class); dispatcher = mock(Dispatcher.class); uiStack = mock(UiStack.class); settings = mock(Settings.class); homeController = new HomeController(screen, uiStack, settings, dispatcher); } @Test public void shouldShowViewChildrenScreen() { homeController.viewChildren(); verify(dispatcher).viewChildren(); } @Test public void shouldShowNewChildScreen() { homeController.newChild(); verify(dispatcher).newChild(); } @Test public void shouldSynchronizeChildren() { homeController.synchronize(); verify(dispatcher).synchronize(); } @Test public void shouldShowSearchChildrenScreen() { homeController.showSearch(); verify(dispatcher).searchChild(); } @Test public void shouldResetDevice() { homeController.cleanAll(); verify(dispatcher).resetDevice(); } @Test public void shouldShowLoginWithNoAttachedProcess() { homeController.logIn(); verify(dispatcher).login(null); } @Test public void shouldShowContactScreen() { homeController.showcontact(); verify(dispatcher).showcontact(); } }