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());
}
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;
}
}));
}
Aggregations