Search in sources :

Example 1 with UpdateIssueParams

use of com.enonic.xp.issue.UpdateIssueParams 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 2 with UpdateIssueParams

use of com.enonic.xp.issue.UpdateIssueParams 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 3 with UpdateIssueParams

use of com.enonic.xp.issue.UpdateIssueParams 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 4 with UpdateIssueParams

use of com.enonic.xp.issue.UpdateIssueParams 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)

Example 5 with UpdateIssueParams

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

the class IssueServiceImplTest_update method test_name_does_not_get_updated.

@Test
public void test_name_does_not_get_updated() throws Exception {
    final Instant createdTime = Instant.now();
    final Issue issue = this.createIssue(createdTime);
    final UpdateIssueParams updateIssueParams = UpdateIssueParams.create().id(issue.getId()).editor(edit -> edit.title = "new title").build();
    final Issue updatedIssue = this.issueService.update(updateIssueParams);
    assertNotNull(updatedIssue);
    assertEquals("new title", updatedIssue.getTitle());
    assertEquals(IssueNameFactory.create(updatedIssue.getIndex()), updatedIssue.getName());
}
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) Test(org.junit.jupiter.api.Test)

Aggregations

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