package org.bonitasoft.console.common.server.page.extension; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Matchers.anyString; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; import org.bonitasoft.engine.api.PageAPI; import org.bonitasoft.engine.page.Page; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; /** * @author Laurent Leseigneur */ @RunWith(MockitoJUnitRunner.class) public class PageResourceProviderImplTest { public static final String PAGE_NAME = "pageName"; public static final long PROCESS_DEFINITION_ID = 123L; public static final long PAGE_ID = 123L; @Mock private Page page; @Mock private PageAPI pageApi; PageResourceProviderImpl pageResourceProvider; PageResourceProviderImpl pageResourceProviderWithProcessDefinition; @Before public void before() throws Exception { doReturn(PROCESS_DEFINITION_ID).when(page).getProcessDefinitionId(); doReturn(PAGE_NAME).when(page).getName(); doReturn(PAGE_ID).when(page).getId(); pageResourceProvider = new PageResourceProviderImpl(PAGE_NAME, 1); pageResourceProviderWithProcessDefinition = new PageResourceProviderImpl(page, 1); } @Test public void should_pagedirectory_be_distinct() throws Exception { assertThat(pageResourceProvider.getPageDirectory()).as("should be distinct").isNotEqualTo(pageResourceProviderWithProcessDefinition.getPageDirectory()); } @Test public void should_temp_page_file_be_distinct() throws Exception { assertThat(pageResourceProvider.getTempPageFile()).as("should be page name").isNotEqualTo(pageResourceProviderWithProcessDefinition.getTempPageFile()); } @Test public void should_testGetFullPageName_return_unique_key() throws Exception { assertThat(pageResourceProvider.getFullPageName()).as("should be page name").isEqualTo(PAGE_NAME); assertThat(pageResourceProvider.getFullPageName()).as("should be page name").isNotEqualTo(pageResourceProviderWithProcessDefinition.getFullPageName()); } @Test public void should_getPage_by_name() throws Exception { // when pageResourceProvider.getPage(pageApi); //then verify(pageApi).getPageByName(PAGE_NAME); } @Test public void should_getPage_by_id() throws Exception { // when pageResourceProviderWithProcessDefinition.getPage(pageApi); //then verify(pageApi,never()).getPageByName(anyString()); verify(pageApi).getPage(PAGE_ID); } }