package com.constellio.app.ui.pages.user; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import java.net.URLEncoder; import org.junit.Before; import org.mockito.Mock; import com.constellio.app.ui.application.CoreViews; import com.constellio.app.ui.application.NavigatorConfigurationService; import com.constellio.app.ui.entities.UserCredentialVO; import com.constellio.sdk.tests.ConstellioTest; import com.constellio.sdk.tests.FakeSessionContext; import com.constellio.sdk.tests.MockedFactories; public class ListUserCredentialsPresenterTest extends ConstellioTest { ListUserCredentialsPresenter presenter; MockedFactories mockedFactories = new MockedFactories(); @Mock ListUsersCredentialsView userView; @Mock UserCredentialVO userCredentialVO; @Mock CoreViews navigator; @Before public void setUp() throws Exception { when(userView.getSessionContext()).thenReturn(FakeSessionContext.dakotaInCollection(zeCollection)); when(userView.getConstellioFactories()).thenReturn(mockedFactories.getConstellioFactories()); when(userView.navigate().to()).thenReturn(navigator); when(userCredentialVO.getUsername()).thenReturn("dakota"); presenter = spy(new ListUserCredentialsPresenter(userView)); } //@Test public void whenAddButtonClickedThenNavigateToAddEditUserCredentialView() throws Exception { presenter.addButtonClicked(); verify(userView.navigate().to(), times(1)).addUserCredential(NavigatorConfigurationService.USER_LIST + "/"); } //@Test public void whenEditButtonClickedThenNavigateToAddEditUserCredentialView() throws Exception { presenter.editButtonClicked(userCredentialVO); verify(userView.navigate().to(), times(1)) .editUserCredential( NavigatorConfigurationService.USER_LIST + "/" + URLEncoder.encode("username=dakota", "UTF-8")); } //@Test public void whenDisplayButtonClickedThenNavigateToDisplayUserCredentialView() throws Exception { presenter.displayButtonClicked(userCredentialVO); verify(userView.navigate().to(), times(1)).displayUserCredential( NavigatorConfigurationService.USER_LIST + "/" + URLEncoder.encode("username=dakota", "UTF-8")); } }