Search in sources :

Example 16 with Issue

use of com.enonic.xp.issue.Issue in project xp by enonic.

the class IssueServiceImplTest_update method update_publish_request_issue_without_schedule.

@Test
public void update_publish_request_issue_without_schedule() throws Exception {
    final PublishRequestIssue issue = (PublishRequestIssue) this.issueService.create(CreatePublishRequestIssueParams.create().title("title").description("description").setApproverIds(PrincipalKeys.from("user:myStore:approver-1")).setPublishRequest(PublishRequest.create().addItem(PublishRequestItem.create().id(ContentId.from("content-id")).includeChildren(true).build()).build()).build());
    final UpdateIssueParams updateIssueParams = UpdateIssueParams.create().id(issue.getId()).editor(editMe -> {
        EditablePublishRequestIssue edit = (EditablePublishRequestIssue) editMe;
        edit.title = "updated title";
        edit.description = "updated description";
        edit.approverIds = PrincipalKeys.from(PrincipalKey.from("user:myStore:approver-1"), PrincipalKey.from("user:myStore:approver-2"));
        edit.publishRequest = PublishRequest.create().addExcludeId(ContentId.from("new-exclude-id")).addItem(PublishRequestItem.create().id(ContentId.from("new-content-id")).includeChildren(true).build()).build();
        edit.issueStatus = IssueStatus.CLOSED;
    }).build();
    final PublishRequestIssue updatedIssue = (PublishRequestIssue) this.issueService.update(updateIssueParams);
    assertNotNull(updatedIssue);
    assertEquals("updated title", updatedIssue.getTitle());
    assertEquals("updated description", updatedIssue.getDescription());
    assertEquals(IssueStatus.CLOSED, updatedIssue.getStatus());
    assertEquals(PrincipalKey.from("user:system:test-user"), updatedIssue.getCreator());
    assertEquals(PrincipalKey.from("user:system:test-user"), updatedIssue.getModifier());
    assertEquals(PrincipalKey.from("user:myStore:approver-1"), updatedIssue.getApproverIds().first());
    assertEquals(ContentId.from("new-exclude-id"), updatedIssue.getPublishRequest().getExcludeIds().first());
    assertEquals(ContentId.from("new-content-id"), updatedIssue.getPublishRequest().getItems().first().getId());
    assertEquals(true, updatedIssue.getPublishRequest().getItems().first().getIncludeChildren());
    assertEquals(IssueNameFactory.create(updatedIssue.getIndex()), updatedIssue.getName());
    assertNotEquals(updatedIssue.getCreatedTime(), updatedIssue.getModifiedTime());
    assertNull(updatedIssue.getSchedule());
}
Also used : PublishRequestIssue(com.enonic.xp.issue.PublishRequestIssue) EditablePublishRequestIssue(com.enonic.xp.issue.EditablePublishRequestIssue) Assertions.assertNotNull(org.junit.jupiter.api.Assertions.assertNotNull) IssueStatus(com.enonic.xp.issue.IssueStatus) CreatePublishRequestIssueParams(com.enonic.xp.issue.CreatePublishRequestIssueParams) Issue(com.enonic.xp.issue.Issue) PublishRequestItem(com.enonic.xp.issue.PublishRequestItem) Assertions.assertNotEquals(org.junit.jupiter.api.Assertions.assertNotEquals) Assertions.assertNull(org.junit.jupiter.api.Assertions.assertNull) CreateIssueParams(com.enonic.xp.issue.CreateIssueParams) Instant(java.time.Instant) PublishRequestIssueSchedule(com.enonic.xp.issue.PublishRequestIssueSchedule) Test(org.junit.jupiter.api.Test) PublishRequestIssue(com.enonic.xp.issue.PublishRequestIssue) ContentId(com.enonic.xp.content.ContentId) ChronoUnit(java.time.temporal.ChronoUnit) EditablePublishRequestIssue(com.enonic.xp.issue.EditablePublishRequestIssue) PrincipalKey(com.enonic.xp.security.PrincipalKey) UpdateIssueParams(com.enonic.xp.issue.UpdateIssueParams) Assertions.assertEquals(org.junit.jupiter.api.Assertions.assertEquals) PublishRequest(com.enonic.xp.issue.PublishRequest) PrincipalKeys(com.enonic.xp.security.PrincipalKeys) IssueNameFactory(com.enonic.xp.core.impl.issue.IssueNameFactory) UpdateIssueParams(com.enonic.xp.issue.UpdateIssueParams) EditablePublishRequestIssue(com.enonic.xp.issue.EditablePublishRequestIssue) Test(org.junit.jupiter.api.Test)

Example 17 with Issue

use of com.enonic.xp.issue.Issue in project xp by enonic.

the class IssueServiceImplTest_create method create_issue.

@Test
public void create_issue() throws Exception {
    final CreateIssueParams params = CreateIssueParams.create().title("title").description("description").setApproverIds(PrincipalKeys.from("user:myStore:approver-1")).setPublishRequest(PublishRequest.create().addExcludeId(ContentId.from("exclude-id")).addItem(PublishRequestItem.create().id(ContentId.from("content-id")).includeChildren(true).build()).build()).build();
    final Issue issue = this.issueService.create(params);
    assertNotNull(issue);
    assertEquals("title", issue.getTitle());
    assertEquals("description", issue.getDescription());
    assertEquals(IssueStatus.OPEN, issue.getStatus());
    assertEquals(PrincipalKey.from("user:system:test-user"), issue.getCreator());
    assertEquals(PrincipalKey.from("user:myStore:approver-1"), issue.getApproverIds().first());
    assertEquals(ContentId.from("content-id"), issue.getPublishRequest().getItems().first().getId());
    assertEquals(ContentId.from("exclude-id"), issue.getPublishRequest().getExcludeIds().first());
    assertEquals(IssueNameFactory.create(issue.getIndex()), issue.getName());
}
Also used : Issue(com.enonic.xp.issue.Issue) PublishRequestIssue(com.enonic.xp.issue.PublishRequestIssue) CreateIssueParams(com.enonic.xp.issue.CreateIssueParams) Test(org.junit.jupiter.api.Test)

Example 18 with Issue

use of com.enonic.xp.issue.Issue in project xp by enonic.

the class IssueServiceImplTest_findComments method comments_findByUser.

@Test
public void comments_findByUser() throws Exception {
    IssueCommentQuery query = IssueCommentQuery.create().issue(this.issue.getId()).creator(User.ANONYMOUS.getKey()).build();
    final FindIssueCommentsResult result = this.issueService.findComments(query);
    assertNotNull(result);
    assertEquals(2, result.getHits());
    assertTrue(result.getIssueComments().stream().allMatch(c -> c.getCreator().equals(User.ANONYMOUS.getKey())));
}
Also used : BeforeEach(org.junit.jupiter.api.BeforeEach) User(com.enonic.xp.security.User) Assertions.assertNotNull(org.junit.jupiter.api.Assertions.assertNotNull) Issue(com.enonic.xp.issue.Issue) IssueComment(com.enonic.xp.issue.IssueComment) CreateIssueParams(com.enonic.xp.issue.CreateIssueParams) FindIssueCommentsResult(com.enonic.xp.issue.FindIssueCommentsResult) Test(org.junit.jupiter.api.Test) PrincipalKey(com.enonic.xp.security.PrincipalKey) CreateIssueCommentParams(com.enonic.xp.issue.CreateIssueCommentParams) Assertions.assertTrue(org.junit.jupiter.api.Assertions.assertTrue) IssueCommentQuery(com.enonic.xp.issue.IssueCommentQuery) Assertions.assertEquals(org.junit.jupiter.api.Assertions.assertEquals) FindIssueCommentsResult(com.enonic.xp.issue.FindIssueCommentsResult) IssueCommentQuery(com.enonic.xp.issue.IssueCommentQuery) Test(org.junit.jupiter.api.Test)

Example 19 with Issue

use of com.enonic.xp.issue.Issue in project xp by enonic.

the class IssueServiceImplTest_getIssue method get_issue.

@Test
public void get_issue() throws Exception {
    final IssueId issueId = this.createIssue(CreateIssueParams.create().title("title").description("description").setApproverIds(PrincipalKeys.from("user:myStore:approver-1")).setPublishRequest(PublishRequest.create().addExcludeId(ContentId.from("exclude-id")).addItem(PublishRequestItem.create().id(ContentId.from("content-id")).includeChildren(true).build()).build())).getId();
    final Issue issue = this.issueService.getIssue(issueId);
    assertNotNull(issue);
    assertEquals("title", issue.getTitle());
    assertEquals("description", issue.getDescription());
    assertEquals(IssueStatus.OPEN, issue.getStatus());
    assertEquals(PrincipalKey.from("user:system:test-user"), issue.getCreator());
    assertEquals(PrincipalKey.from("user:myStore:approver-1"), issue.getApproverIds().first());
    assertEquals(ContentId.from("content-id"), issue.getPublishRequest().getItems().first().getId());
    assertEquals(IssueNameFactory.create(issue.getIndex()), issue.getName());
}
Also used : Issue(com.enonic.xp.issue.Issue) IssueId(com.enonic.xp.issue.IssueId) Test(org.junit.jupiter.api.Test)

Aggregations

Issue (com.enonic.xp.issue.Issue)19 Test (org.junit.jupiter.api.Test)17 CreateIssueParams (com.enonic.xp.issue.CreateIssueParams)10 Assertions.assertEquals (org.junit.jupiter.api.Assertions.assertEquals)8 Assertions.assertNotNull (org.junit.jupiter.api.Assertions.assertNotNull)8 ContentId (com.enonic.xp.content.ContentId)7 PublishRequest (com.enonic.xp.issue.PublishRequest)7 PublishRequestIssue (com.enonic.xp.issue.PublishRequestIssue)7 PublishRequestItem (com.enonic.xp.issue.PublishRequestItem)7 PrincipalKey (com.enonic.xp.security.PrincipalKey)7 Instant (java.time.Instant)7 EditablePublishRequestIssue (com.enonic.xp.issue.EditablePublishRequestIssue)6 UpdateIssueParams (com.enonic.xp.issue.UpdateIssueParams)6 IssueNameFactory (com.enonic.xp.core.impl.issue.IssueNameFactory)4 CreatePublishRequestIssueParams (com.enonic.xp.issue.CreatePublishRequestIssueParams)4 IssueStatus (com.enonic.xp.issue.IssueStatus)4 PublishRequestIssueSchedule (com.enonic.xp.issue.PublishRequestIssueSchedule)4 PrincipalKeys (com.enonic.xp.security.PrincipalKeys)4 ChronoUnit (java.time.temporal.ChronoUnit)4 Assertions.assertNotEquals (org.junit.jupiter.api.Assertions.assertNotEquals)4