Search in sources :

Example 6 with Issue

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

the class IssueServiceImplTest_findIssues method findByContentId4.

@Test
public void findByContentId4() throws Exception {
    ContentId contentId = ContentId.from("issue-item-4");
    IssueQuery query = IssueQuery.create().items(ContentIds.from(contentId)).build();
    final FindIssuesResult result = this.issueService.findIssues(query);
    assertNotNull(result);
    assertEquals(1, result.getHits());
    assertTrue(result.getIssues().stream().allMatch(issue -> issue.getPublishRequest().getItems().stream().anyMatch(item -> item.getId().equals(contentId))));
}
Also used : BeforeEach(org.junit.jupiter.api.BeforeEach) Assertions.assertNotNull(org.junit.jupiter.api.Assertions.assertNotNull) Issue(com.enonic.xp.issue.Issue) PublishRequestItem(com.enonic.xp.issue.PublishRequestItem) CreateIssueParams(com.enonic.xp.issue.CreateIssueParams) Test(org.junit.jupiter.api.Test) ContentId(com.enonic.xp.content.ContentId) ContentIds(com.enonic.xp.content.ContentIds) IssueQuery(com.enonic.xp.issue.IssueQuery) FindIssuesResult(com.enonic.xp.issue.FindIssuesResult) Assertions.assertTrue(org.junit.jupiter.api.Assertions.assertTrue) Assertions.assertEquals(org.junit.jupiter.api.Assertions.assertEquals) PublishRequest(com.enonic.xp.issue.PublishRequest) ContentId(com.enonic.xp.content.ContentId) IssueQuery(com.enonic.xp.issue.IssueQuery) FindIssuesResult(com.enonic.xp.issue.FindIssuesResult) Test(org.junit.jupiter.api.Test)

Example 7 with Issue

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

the class IssueServiceImplTest_update method update_publish_request_issue.

@Test
public void update_publish_request_issue() throws Exception {
    Instant from = Instant.ofEpochSecond(1561965725L);
    Instant to = Instant.ofEpochSecond(1575184925L);
    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()).schedule(PublishRequestIssueSchedule.create().from(from).to(to).build()).build());
    Instant newFrom = from.plus(4, ChronoUnit.DAYS);
    Instant newTo = to.plus(8, ChronoUnit.DAYS);
    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;
        edit.schedule = PublishRequestIssueSchedule.create().from(newFrom).to(newTo).build();
    }).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());
    assertEquals(newFrom, updatedIssue.getSchedule().getFrom());
    assertEquals(newTo, updatedIssue.getSchedule().getTo());
}
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) Instant(java.time.Instant) UpdateIssueParams(com.enonic.xp.issue.UpdateIssueParams) EditablePublishRequestIssue(com.enonic.xp.issue.EditablePublishRequestIssue) Test(org.junit.jupiter.api.Test)

Example 8 with Issue

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

the class IssueServiceImplTest_update method update.

@Test
public void update() throws Exception {
    final Instant createdTime = Instant.now();
    final Issue issue = this.createIssue(createdTime);
    final PrincipalKey commentatorKey = PrincipalKey.from("user:myStore:commentator-1");
    final UpdateIssueParams updateIssueParams = UpdateIssueParams.create().id(issue.getId()).editor(editMe -> {
        editMe.title = "updated title";
        editMe.description = "updated description";
        editMe.approverIds = PrincipalKeys.from(PrincipalKey.from("user:myStore:approver-1"), PrincipalKey.from("user:myStore:approver-2"));
        editMe.publishRequest = PublishRequest.create().addExcludeId(ContentId.from("new-exclude-id")).addItem(PublishRequestItem.create().id(ContentId.from("new-content-id")).includeChildren(true).build()).build();
        editMe.issueStatus = IssueStatus.CLOSED;
    }).build();
    final Issue updatedIssue = 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());
}
Also used : 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) Issue(com.enonic.xp.issue.Issue) PublishRequestIssue(com.enonic.xp.issue.PublishRequestIssue) EditablePublishRequestIssue(com.enonic.xp.issue.EditablePublishRequestIssue) Instant(java.time.Instant) UpdateIssueParams(com.enonic.xp.issue.UpdateIssueParams) PrincipalKey(com.enonic.xp.security.PrincipalKey) Test(org.junit.jupiter.api.Test)

Example 9 with Issue

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

the class IssueServiceImplTest_update method nothing_updated.

@Test
public void nothing_updated() throws Exception {
    final Instant createdTime = Instant.now();
    final Issue issue = this.createIssue(createdTime);
    final UpdateIssueParams updateIssueParams = UpdateIssueParams.create().id(issue.getId()).build();
    final Issue updatedIssue = this.issueService.update(updateIssueParams);
    assertNotNull(updatedIssue);
    assertEquals("title", updatedIssue.getTitle());
    assertEquals("description", updatedIssue.getDescription());
    assertEquals(IssueStatus.OPEN, issue.getStatus());
    assertEquals(PrincipalKey.from("user:system:test-user"), updatedIssue.getCreator());
    assertEquals(PrincipalKey.from("user:myStore:approver-1"), updatedIssue.getApproverIds().first());
    assertEquals(ContentId.from("content-id"), updatedIssue.getPublishRequest().getItems().first().getId());
    assertEquals(IssueNameFactory.create(updatedIssue.getIndex()), updatedIssue.getName());
}
Also used : Issue(com.enonic.xp.issue.Issue) PublishRequestIssue(com.enonic.xp.issue.PublishRequestIssue) EditablePublishRequestIssue(com.enonic.xp.issue.EditablePublishRequestIssue) Instant(java.time.Instant) UpdateIssueParams(com.enonic.xp.issue.UpdateIssueParams) Test(org.junit.jupiter.api.Test)

Example 10 with Issue

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

the class UpdateIssueCommandTest method update.

@Test
public void update() {
    final UpdateIssueParams params = makeUpdateIssueParams();
    final UpdateIssueCommand command = updateIssueCommand(params);
    final IssueName issueName = IssueName.from(NamePrettyfier.create("title"));
    final Issue issue = command.execute();
    assertNotNull(issue);
    assertEquals("title", issue.getTitle());
    assertEquals(IssueStatus.OPEN, issue.getStatus());
    assertEquals(issueName, issue.getName());
}
Also used : Issue(com.enonic.xp.issue.Issue) IssueName(com.enonic.xp.issue.IssueName) UpdateIssueParams(com.enonic.xp.issue.UpdateIssueParams) 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