Search in sources :

Example 6 with Page

use of io.gravitee.repository.management.model.Page in project gravitee-management-rest-api by gravitee-io.

the class PageService_CreateTest method shouldCreatePage.

@Test
public void shouldCreatePage() throws TechnicalException {
    final String name = "MARKDOWN";
    final String contrib = "contrib";
    final String content = "content";
    final String type = "MARKDOWN";
    when(page1.getId()).thenReturn(PAGE_ID);
    when(page1.getName()).thenReturn(name);
    when(page1.getApi()).thenReturn(API_ID);
    when(page1.getType()).thenReturn(PageType.valueOf(type));
    when(page1.getLastContributor()).thenReturn(contrib);
    when(page1.getOrder()).thenReturn(1);
    when(page1.getContent()).thenReturn(content);
    when(pageRepository.findById(anyString())).thenReturn(Optional.empty());
    when(pageRepository.create(any())).thenReturn(page1);
    when(newPage.getName()).thenReturn(name);
    when(newPage.getOrder()).thenReturn(1);
    when(newPage.getContent()).thenReturn(content);
    when(newPage.getLastContributor()).thenReturn(contrib);
    when(newPage.getType()).thenReturn(io.gravitee.management.model.PageType.SWAGGER);
    final PageEntity createdPage = pageService.createApiPage(API_ID, newPage);
    verify(pageRepository).create(argThat(new ArgumentMatcher<Page>() {

        public boolean matches(Object argument) {
            final Page pageToCreate = (Page) argument;
            return pageToCreate.getId().split("-").length == 5 && API_ID.equals(pageToCreate.getApi()) && name.equals(pageToCreate.getName()) && contrib.equals(pageToCreate.getLastContributor()) && content.equals(pageToCreate.getContent()) && io.gravitee.management.model.PageType.SWAGGER.name().equals(pageToCreate.getType().name()) && pageToCreate.getCreatedAt() != null && pageToCreate.getUpdatedAt() != null && pageToCreate.getCreatedAt().equals(pageToCreate.getUpdatedAt());
        }
    }));
    assertNotNull(createdPage);
    assertEquals(5, createdPage.getId().split("-").length);
    assertEquals(1, createdPage.getOrder());
    assertEquals(content, createdPage.getContent());
    assertEquals(contrib, createdPage.getLastContributor());
    assertEquals(type, createdPage.getType());
}
Also used : NewPageEntity(io.gravitee.management.model.NewPageEntity) PageEntity(io.gravitee.management.model.PageEntity) ArgumentMatcher(org.mockito.ArgumentMatcher) Page(io.gravitee.repository.management.model.Page) Matchers.anyString(org.mockito.Matchers.anyString) Test(org.junit.Test)

Example 7 with Page

use of io.gravitee.repository.management.model.Page in project gravitee-management-rest-api by gravitee-io.

the class PageService_UpdateTest method shouldUpdateOrderDecrement.

@Test
public void shouldUpdateOrderDecrement() throws TechnicalException {
    final Page pageOrder1 = new Page();
    pageOrder1.setId(PAGE_ID);
    pageOrder1.setOrder(1);
    pageOrder1.setApi(API_ID);
    final Page pageOrder2 = new Page();
    pageOrder2.setId("2");
    pageOrder2.setOrder(2);
    pageOrder2.setApi(API_ID);
    final Page pageOrder3 = new Page();
    pageOrder3.setId("3");
    pageOrder3.setOrder(3);
    pageOrder3.setApi(API_ID);
    when(pageRepository.findById("3")).thenReturn(Optional.of(pageOrder3));
    when(pageRepository.findApiPageByApiId(API_ID)).thenReturn(asList(pageOrder1, pageOrder2, pageOrder3));
    when(pageRepository.update(any(Page.class))).thenReturn(pageOrder1);
    final UpdatePageEntity updatePageEntity = new UpdatePageEntity();
    updatePageEntity.setOrder(1);
    pageService.update("3", updatePageEntity);
    verify(pageRepository, times(3)).update(argThat(new ArgumentMatcher<Page>() {

        public boolean matches(Object argument) {
            final Page pageToUpdate = (Page) argument;
            if (PAGE_ID.equals(pageToUpdate.getId())) {
                return pageToUpdate.getOrder() == 2;
            }
            if ("2".equals(pageToUpdate.getId())) {
                return pageToUpdate.getOrder() == 3;
            }
            if ("3".equals(pageToUpdate.getId())) {
                return pageToUpdate.getOrder() == 1;
            }
            return false;
        }
    }));
}
Also used : ArgumentMatcher(org.mockito.ArgumentMatcher) Page(io.gravitee.repository.management.model.Page) UpdatePageEntity(io.gravitee.management.model.UpdatePageEntity) Test(org.junit.Test)

Aggregations

Page (io.gravitee.repository.management.model.Page)7 Test (org.junit.Test)7 ArgumentMatcher (org.mockito.ArgumentMatcher)4 UpdatePageEntity (io.gravitee.management.model.UpdatePageEntity)2 Matchers.anyString (org.mockito.Matchers.anyString)2 NewPageEntity (io.gravitee.management.model.NewPageEntity)1 PageEntity (io.gravitee.management.model.PageEntity)1