TSK-1168: added acceptance tests to show that you can create entities after copy
This commit is contained in:
parent
11bdda1047
commit
4a4a11704e
|
@ -51,11 +51,12 @@ public interface Classification extends ClassificationSummary {
|
|||
void setApplicationEntryPoint(String applicationEntryPoint);
|
||||
|
||||
/**
|
||||
* Duplicates this Classification.
|
||||
* Duplicates this Classification without the id.
|
||||
*
|
||||
* @param key for the new Classification
|
||||
* @return a copy of this Classification
|
||||
*/
|
||||
Classification copy();
|
||||
Classification copy(String key);
|
||||
|
||||
/**
|
||||
* Get a flag if the classification if currently valid in the used domain.
|
||||
|
@ -179,7 +180,7 @@ public interface Classification extends ClassificationSummary {
|
|||
void setCustom8(String custom8);
|
||||
|
||||
/**
|
||||
* Return a summary of the current Classification without the id.
|
||||
* Return a summary of the current Classification.
|
||||
*
|
||||
* @return the ClassificationSummary object for the current classification
|
||||
*/
|
||||
|
|
|
@ -332,19 +332,19 @@ public class ClassificationServiceImpl implements ClassificationService {
|
|||
}
|
||||
}
|
||||
|
||||
private void addClassificationToMasterDomain(ClassificationImpl classificationImpl) {
|
||||
if (!Objects.equals(classificationImpl.getDomain(), "")) {
|
||||
private void addClassificationToMasterDomain(ClassificationImpl classification) {
|
||||
if (!Objects.equals(classification.getDomain(), "")) {
|
||||
boolean doesExist = true;
|
||||
ClassificationImpl masterClassification = classificationImpl.copy();
|
||||
ClassificationImpl masterClassification = classification.copy(classification.getKey());
|
||||
masterClassification.setId(IdGenerator.generateWithPrefix(ID_PREFIX_CLASSIFICATION));
|
||||
masterClassification.setParentKey(classificationImpl.getParentKey());
|
||||
masterClassification.setParentKey(classification.getParentKey());
|
||||
masterClassification.setDomain("");
|
||||
masterClassification.setIsValidInDomain(false);
|
||||
try {
|
||||
if (classificationImpl.getParentKey() != null
|
||||
&& !"".equals(classificationImpl.getParentKey())) {
|
||||
if (classification.getParentKey() != null
|
||||
&& !"".equals(classification.getParentKey())) {
|
||||
masterClassification.setParentId(
|
||||
getClassification(classificationImpl.getParentKey(), "").getId());
|
||||
getClassification(classification.getParentKey(), "").getId());
|
||||
}
|
||||
this.getClassification(masterClassification.getKey(), masterClassification.getDomain());
|
||||
throw new ClassificationAlreadyExistException(masterClassification);
|
||||
|
|
|
@ -16,75 +16,13 @@ public class ClassificationImpl extends ClassificationSummaryImpl implements Cla
|
|||
|
||||
public ClassificationImpl() {}
|
||||
|
||||
private ClassificationImpl(ClassificationImpl copyFrom) {
|
||||
private ClassificationImpl(ClassificationImpl copyFrom, String key) {
|
||||
super(copyFrom);
|
||||
isValidInDomain = copyFrom.isValidInDomain;
|
||||
created = copyFrom.created;
|
||||
modified = copyFrom.modified;
|
||||
description = copyFrom.description;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean getIsValidInDomain() {
|
||||
return isValidInDomain;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setIsValidInDomain(Boolean isValidInDomain) {
|
||||
this.isValidInDomain = isValidInDomain;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Instant getCreated() {
|
||||
return created;
|
||||
}
|
||||
|
||||
public void setCreated(Instant created) {
|
||||
this.created = created;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Instant getModified() {
|
||||
return modified;
|
||||
}
|
||||
|
||||
public void setModified(Instant modified) {
|
||||
this.modified = modified;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setDescription(String description) {
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ClassificationSummary asSummary() {
|
||||
ClassificationSummaryImpl summary = new ClassificationSummaryImpl();
|
||||
summary.setCategory(this.category);
|
||||
summary.setDomain(this.domain);
|
||||
summary.setId(this.id);
|
||||
summary.setKey(this.key);
|
||||
summary.setName(this.name);
|
||||
summary.setType(this.type);
|
||||
summary.setParentId(this.parentId);
|
||||
summary.setParentKey(this.parentKey);
|
||||
summary.setPriority(this.priority);
|
||||
summary.setServiceLevel(this.serviceLevel);
|
||||
summary.setApplicationEntryPoint(this.applicationEntryPoint);
|
||||
summary.setCustom1(custom1);
|
||||
summary.setCustom2(custom2);
|
||||
summary.setCustom3(custom3);
|
||||
summary.setCustom4(custom4);
|
||||
summary.setCustom5(custom5);
|
||||
summary.setCustom6(custom6);
|
||||
summary.setCustom7(custom7);
|
||||
summary.setCustom8(custom8);
|
||||
return summary;
|
||||
this.key = key;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -97,11 +35,6 @@ public class ClassificationImpl extends ClassificationSummaryImpl implements Cla
|
|||
this.applicationEntryPoint = applicationEntryPoint;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ClassificationImpl copy() {
|
||||
return new ClassificationImpl(this);
|
||||
}
|
||||
|
||||
protected boolean canEqual(Object other) {
|
||||
return (other instanceof ClassificationImpl);
|
||||
}
|
||||
|
@ -179,4 +112,72 @@ public class ClassificationImpl extends ClassificationSummaryImpl implements Cla
|
|||
+ custom8
|
||||
+ "]";
|
||||
}
|
||||
|
||||
@Override
|
||||
public ClassificationImpl copy(String key) {
|
||||
return new ClassificationImpl(this, key);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean getIsValidInDomain() {
|
||||
return isValidInDomain;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setIsValidInDomain(Boolean isValidInDomain) {
|
||||
this.isValidInDomain = isValidInDomain;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Instant getCreated() {
|
||||
return created;
|
||||
}
|
||||
|
||||
public void setCreated(Instant created) {
|
||||
this.created = created;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Instant getModified() {
|
||||
return modified;
|
||||
}
|
||||
|
||||
public void setModified(Instant modified) {
|
||||
this.modified = modified;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setDescription(String description) {
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ClassificationSummary asSummary() {
|
||||
ClassificationSummaryImpl summary = new ClassificationSummaryImpl();
|
||||
summary.setCategory(this.category);
|
||||
summary.setDomain(this.domain);
|
||||
summary.setId(this.id);
|
||||
summary.setKey(this.key);
|
||||
summary.setName(this.name);
|
||||
summary.setType(this.type);
|
||||
summary.setParentId(this.parentId);
|
||||
summary.setParentKey(this.parentKey);
|
||||
summary.setPriority(this.priority);
|
||||
summary.setServiceLevel(this.serviceLevel);
|
||||
summary.setApplicationEntryPoint(this.applicationEntryPoint);
|
||||
summary.setCustom1(custom1);
|
||||
summary.setCustom2(custom2);
|
||||
summary.setCustom3(custom3);
|
||||
summary.setCustom4(custom4);
|
||||
summary.setCustom5(custom5);
|
||||
summary.setCustom6(custom6);
|
||||
summary.setCustom7(custom7);
|
||||
summary.setCustom8(custom8);
|
||||
return summary;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -33,7 +33,6 @@ public class ClassificationSummaryImpl implements ClassificationSummary {
|
|||
applicationEntryPoint = copyFrom.applicationEntryPoint;
|
||||
category = copyFrom.category;
|
||||
domain = copyFrom.domain;
|
||||
key = copyFrom.key;
|
||||
name = copyFrom.name;
|
||||
parentId = copyFrom.parentId;
|
||||
parentKey = copyFrom.parentKey;
|
||||
|
|
|
@ -59,7 +59,7 @@ public interface Attachment extends AttachmentSummary {
|
|||
AttachmentSummary asSummary();
|
||||
|
||||
/**
|
||||
* Duplicates this Attachment without the id.
|
||||
* Duplicates this Attachment without the id and taskId.
|
||||
*
|
||||
* @return a copy of this Attachment
|
||||
*/
|
||||
|
|
|
@ -67,7 +67,7 @@ public interface AttachmentSummary {
|
|||
Instant getReceived();
|
||||
|
||||
/**
|
||||
* Duplicates this AttachmentSummary without the id.
|
||||
* Duplicates this AttachmentSummary without the id and taskId.
|
||||
*
|
||||
* @return a copy of this AttachmentSummary
|
||||
*/
|
||||
|
|
|
@ -189,7 +189,8 @@ public interface Task extends TaskSummary {
|
|||
String getClassificationCategory();
|
||||
|
||||
/**
|
||||
* Duplicates this Task without the id.
|
||||
* Duplicates this Task without the internal and external id.
|
||||
* All referenced {@link Attachment}s are copied as well.
|
||||
*
|
||||
* @return a copy of this Task
|
||||
*/
|
||||
|
|
|
@ -194,7 +194,7 @@ public interface TaskSummary {
|
|||
String getCustomAttribute(String num) throws InvalidArgumentException;
|
||||
|
||||
/**
|
||||
* Duplicates this TaskSummary without the id.
|
||||
* Duplicates this TaskSummary without the internal and external id.
|
||||
*
|
||||
* @return a copy of this TaskSummary
|
||||
*/
|
||||
|
|
|
@ -23,7 +23,6 @@ public class AttachmentSummaryImpl implements AttachmentSummary {
|
|||
AttachmentSummaryImpl() {}
|
||||
|
||||
protected AttachmentSummaryImpl(AttachmentSummaryImpl copyFrom) {
|
||||
taskId = copyFrom.taskId;
|
||||
created = copyFrom.created;
|
||||
modified = copyFrom.modified;
|
||||
classificationSummary = copyFrom.classificationSummary;
|
||||
|
|
|
@ -6,6 +6,7 @@ import java.util.HashMap;
|
|||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import pro.taskana.classification.internal.models.ClassificationSummaryImpl;
|
||||
import pro.taskana.common.api.exceptions.InvalidArgumentException;
|
||||
|
@ -34,7 +35,7 @@ public class TaskImpl extends TaskSummaryImpl implements Task {
|
|||
customAttributes = new HashMap<>(copyFrom.customAttributes);
|
||||
callbackInfo = new HashMap<>(copyFrom.callbackInfo);
|
||||
callbackState = copyFrom.callbackState;
|
||||
attachments = new ArrayList<>(copyFrom.attachments);
|
||||
attachments = copyFrom.attachments.stream().map(Attachment::copy).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
public CallbackState getCallbackState() {
|
||||
|
|
|
@ -65,7 +65,6 @@ public class TaskSummaryImpl implements TaskSummary {
|
|||
public TaskSummaryImpl() {}
|
||||
|
||||
protected TaskSummaryImpl(TaskSummaryImpl copyFrom) {
|
||||
externalId = copyFrom.externalId;
|
||||
created = copyFrom.created;
|
||||
claimed = copyFrom.claimed;
|
||||
completed = copyFrom.completed;
|
||||
|
|
|
@ -102,9 +102,10 @@ public interface Workbasket extends WorkbasketSummary {
|
|||
/**
|
||||
* Duplicates this Workbasket without the id.
|
||||
*
|
||||
* @param key for the new Workbasket
|
||||
* @return a copy of this Workbasket
|
||||
*/
|
||||
Workbasket copy();
|
||||
Workbasket copy(String key);
|
||||
|
||||
/**
|
||||
* Sets the owner-ID of the workbasket.
|
||||
|
|
|
@ -14,10 +14,16 @@ public class WorkbasketImpl extends WorkbasketSummaryImpl implements Workbasket
|
|||
|
||||
public WorkbasketImpl() {}
|
||||
|
||||
private WorkbasketImpl(WorkbasketImpl copyFrom) {
|
||||
private WorkbasketImpl(WorkbasketImpl copyFrom, String key) {
|
||||
super(copyFrom);
|
||||
created = copyFrom.created;
|
||||
modified = copyFrom.modified;
|
||||
this.key = key;
|
||||
}
|
||||
|
||||
@Override
|
||||
public WorkbasketImpl copy(String key) {
|
||||
return new WorkbasketImpl(this, key);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -60,11 +66,6 @@ public class WorkbasketImpl extends WorkbasketSummaryImpl implements Workbasket
|
|||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public WorkbasketImpl copy() {
|
||||
return new WorkbasketImpl(this);
|
||||
}
|
||||
|
||||
protected boolean canEqual(Object other) {
|
||||
return (other instanceof WorkbasketImpl);
|
||||
}
|
||||
|
|
|
@ -28,7 +28,6 @@ public class WorkbasketSummaryImpl implements WorkbasketSummary {
|
|||
public WorkbasketSummaryImpl() {}
|
||||
|
||||
protected WorkbasketSummaryImpl(WorkbasketSummaryImpl copyFrom) {
|
||||
key = copyFrom.key;
|
||||
name = copyFrom.name;
|
||||
description = copyFrom.description;
|
||||
owner = copyFrom.owner;
|
||||
|
|
|
@ -2,6 +2,8 @@ package acceptance.classification;
|
|||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.assertThatThrownBy;
|
||||
import static org.junit.jupiter.api.Assertions.assertNotEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
||||
|
||||
import acceptance.AbstractAccTest;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
@ -251,4 +253,19 @@ class CreateClassificationAccTest extends AbstractAccTest {
|
|||
assertThatThrownBy(() -> classificationService.createClassification(classification))
|
||||
.isInstanceOf(InvalidArgumentException.class);
|
||||
}
|
||||
|
||||
@WithAccessId(
|
||||
userName = "teamlead_1",
|
||||
groupNames = {"group_1", "businessadmin"})
|
||||
@Test
|
||||
void should_beAbleToCreateNewClassification_When_ClassificationCopy() throws Exception {
|
||||
ClassificationImpl oldClassification =
|
||||
(ClassificationImpl) classificationService.getClassification("T2100", "DOMAIN_B");
|
||||
Classification newClassification = oldClassification.copy("T9949");
|
||||
|
||||
newClassification = classificationService.createClassification(newClassification);
|
||||
|
||||
assertNotNull(newClassification.getId());
|
||||
assertNotEquals(newClassification.getId(), oldClassification.getId());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,6 +5,7 @@ import static org.hamcrest.MatcherAssert.assertThat;
|
|||
import static org.hamcrest.core.IsEqual.equalTo;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||
import static org.junit.jupiter.api.Assertions.assertNotEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
||||
import static org.junit.jupiter.api.Assertions.assertNull;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
@ -39,6 +40,7 @@ import pro.taskana.task.api.exceptions.InvalidStateException;
|
|||
import pro.taskana.task.api.exceptions.TaskAlreadyExistException;
|
||||
import pro.taskana.task.api.exceptions.TaskNotFoundException;
|
||||
import pro.taskana.task.api.models.Attachment;
|
||||
import pro.taskana.task.api.models.AttachmentSummary;
|
||||
import pro.taskana.task.api.models.ObjectReference;
|
||||
import pro.taskana.task.api.models.Task;
|
||||
import pro.taskana.task.internal.AttachmentMapper;
|
||||
|
@ -61,6 +63,23 @@ class CreateTaskAccTest extends AbstractAccTest {
|
|||
classificationService = taskanaEngine.getClassificationService();
|
||||
}
|
||||
|
||||
@WithAccessId(
|
||||
userName = "user_1_1",
|
||||
groupNames = {"group_1"})
|
||||
@Test
|
||||
void should_beAbleToCreateNewTask_When_TaskCopy() throws Exception {
|
||||
Task oldTask = taskService.getTask("TKI:000000000000000000000000000000000000");
|
||||
|
||||
Task newTask = oldTask.copy();
|
||||
newTask = taskService.createTask(newTask);
|
||||
|
||||
assertNotNull(newTask.getId());
|
||||
assertNotEquals(newTask.getId(), oldTask.getId());
|
||||
org.assertj.core.api.Assertions.assertThat(newTask.getAttachments())
|
||||
.extracting(AttachmentSummary::getTaskId)
|
||||
.containsOnly(newTask.getId());
|
||||
}
|
||||
|
||||
@WithAccessId(
|
||||
userName = "user_1_1",
|
||||
groupNames = {"group_1"})
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package acceptance.workbasket;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertNotEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
|
@ -23,6 +24,7 @@ import pro.taskana.workbasket.api.exceptions.WorkbasketAlreadyExistException;
|
|||
import pro.taskana.workbasket.api.exceptions.WorkbasketNotFoundException;
|
||||
import pro.taskana.workbasket.api.models.Workbasket;
|
||||
import pro.taskana.workbasket.api.models.WorkbasketAccessItem;
|
||||
import pro.taskana.workbasket.internal.models.WorkbasketImpl;
|
||||
|
||||
/** Acceptance test for all "create workbasket" scenarios. */
|
||||
@ExtendWith(JaasExtension.class)
|
||||
|
@ -79,6 +81,22 @@ class CreateWorkbasketAccTest extends AbstractAccTest {
|
|||
NotAuthorizedException.class, () -> workbasketService.createWorkbasket(workbasket));
|
||||
}
|
||||
|
||||
@WithAccessId(
|
||||
userName = "teamlead_1",
|
||||
groupNames = {"group_1", "businessadmin"})
|
||||
@Test
|
||||
void should_beAbleToCreateNewWorkbasket_When_WorkbasketCopy() throws Exception {
|
||||
WorkbasketService workbasketService = taskanaEngine.getWorkbasketService();
|
||||
WorkbasketImpl oldWorkbasket =
|
||||
(WorkbasketImpl) workbasketService.getWorkbasket("GPK_KSC", "DOMAIN_A");
|
||||
|
||||
WorkbasketImpl newWorkbasket = oldWorkbasket.copy("keyname");
|
||||
newWorkbasket = (WorkbasketImpl) workbasketService.createWorkbasket(newWorkbasket);
|
||||
|
||||
assertNotNull(newWorkbasket.getId());
|
||||
assertNotEquals(newWorkbasket.getId(), oldWorkbasket.getId());
|
||||
}
|
||||
|
||||
@WithAccessId(
|
||||
userName = "user_1_2",
|
||||
groupNames = {"businessadmin"})
|
||||
|
|
|
@ -10,7 +10,7 @@ import pro.taskana.classification.internal.models.ClassificationSummaryImpl;
|
|||
class ClassificationModelsCloneTest {
|
||||
|
||||
@Test
|
||||
void testCloneInClassificationSummary() {
|
||||
void should_CopyWithoutId_When_ClassificationSummaryClone() {
|
||||
Classification dummyClassificationForSummaryTest = new ClassificationImpl();
|
||||
dummyClassificationForSummaryTest.setApplicationEntryPoint("dummyEntryPoint");
|
||||
dummyClassificationForSummaryTest.setCategory("dummyCategory");
|
||||
|
@ -32,7 +32,9 @@ class ClassificationModelsCloneTest {
|
|||
ClassificationSummaryImpl dummyClassificationSummary =
|
||||
(ClassificationSummaryImpl) dummyClassificationForSummaryTest.asSummary();
|
||||
dummyClassificationSummary.setId("dummyId");
|
||||
|
||||
ClassificationSummaryImpl dummyClassificationSummaryCloned = dummyClassificationSummary.copy();
|
||||
|
||||
assertThat(dummyClassificationSummaryCloned).isNotEqualTo(dummyClassificationSummary);
|
||||
dummyClassificationSummaryCloned.setId(dummyClassificationSummary.getId());
|
||||
assertThat(dummyClassificationSummaryCloned).isEqualTo(dummyClassificationSummary);
|
||||
|
@ -40,7 +42,7 @@ class ClassificationModelsCloneTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
void testCloneInClassification() {
|
||||
void should_CopyWithoutId_When_ClassificationClone() {
|
||||
ClassificationImpl dummyClassification = new ClassificationImpl();
|
||||
dummyClassification.setId("dummyId");
|
||||
dummyClassification.setApplicationEntryPoint("dummyEntryPoint");
|
||||
|
@ -60,7 +62,10 @@ class ClassificationModelsCloneTest {
|
|||
dummyClassification.setPriority(1);
|
||||
dummyClassification.setName("dummyName");
|
||||
dummyClassification.setParentKey("dummyParentKey");
|
||||
ClassificationImpl dummyClassificationCloned = dummyClassification.copy();
|
||||
|
||||
ClassificationImpl dummyClassificationCloned =
|
||||
dummyClassification.copy(dummyClassification.getKey());
|
||||
|
||||
assertThat(dummyClassificationCloned).isNotEqualTo(dummyClassification);
|
||||
dummyClassificationCloned.setId(dummyClassification.getId());
|
||||
assertThat(dummyClassificationCloned).isEqualTo(dummyClassification);
|
||||
|
|
|
@ -1,13 +1,17 @@
|
|||
package pro.taskana.task.api.models;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static pro.taskana.task.internal.CreateTaskModelHelper.createAttachment;
|
||||
import static pro.taskana.task.internal.CreateTaskModelHelper.createDummyClassification;
|
||||
import static pro.taskana.task.internal.CreateTaskModelHelper.createUnitTestTask;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import pro.taskana.task.internal.CreateTaskModelHelper;
|
||||
import pro.taskana.task.internal.models.AttachmentImpl;
|
||||
import pro.taskana.task.internal.models.AttachmentSummaryImpl;
|
||||
import pro.taskana.task.internal.models.TaskCommentImpl;
|
||||
|
@ -20,8 +24,9 @@ class TaskModelsCloneTest {
|
|||
void testCloneInTaskSummary() {
|
||||
TaskSummaryImpl dummyTaskSummary = new TaskSummaryImpl();
|
||||
dummyTaskSummary.setId("dummyId");
|
||||
dummyTaskSummary.setExternalId("externalId");
|
||||
Attachment dummyAttachmentForSummaryTestPreClone =
|
||||
CreateTaskModelHelper.createAttachment("uniqueIdForDeepTest", "uniqueTaskIdForDeepTest");
|
||||
createAttachment("uniqueIdForDeepTest", "uniqueTaskIdForDeepTest");
|
||||
AttachmentSummary dummyAttachmentSummary = dummyAttachmentForSummaryTestPreClone.asSummary();
|
||||
ArrayList<AttachmentSummary> attachmentSummaries = new ArrayList<>();
|
||||
attachmentSummaries.add(dummyAttachmentSummary);
|
||||
|
@ -30,12 +35,12 @@ class TaskModelsCloneTest {
|
|||
TaskSummaryImpl dummyTaskSummaryCloned = dummyTaskSummary.copy();
|
||||
assertThat(dummyTaskSummaryCloned).isNotEqualTo(dummyTaskSummary);
|
||||
dummyTaskSummaryCloned.setId(dummyTaskSummary.getId());
|
||||
dummyTaskSummaryCloned.setExternalId(dummyTaskSummary.getExternalId());
|
||||
assertThat(dummyTaskSummaryCloned).isEqualTo(dummyTaskSummary);
|
||||
assertThat(dummyTaskSummaryCloned).isNotSameAs(dummyTaskSummary);
|
||||
|
||||
Attachment dummyAttachmentForSummaryTestPostClone =
|
||||
CreateTaskModelHelper.createAttachment(
|
||||
"differentIdForDeepTest", "differentTaskIdForDeepTest");
|
||||
createAttachment("differentIdForDeepTest", "differentTaskIdForDeepTest");
|
||||
AttachmentSummary dummyAttachmentSummary2 = dummyAttachmentForSummaryTestPostClone.asSummary();
|
||||
attachmentSummaries.add(dummyAttachmentSummary2);
|
||||
assertThat(dummyTaskSummaryCloned).isNotEqualTo(dummyTaskSummary);
|
||||
|
@ -44,11 +49,8 @@ class TaskModelsCloneTest {
|
|||
@Test
|
||||
void testCloneInTask() {
|
||||
TaskImpl dummyTask =
|
||||
CreateTaskModelHelper.createUnitTestTask(
|
||||
"dummyTaskId",
|
||||
"dummyTaskName",
|
||||
"workbasketKey",
|
||||
CreateTaskModelHelper.createDummyClassification());
|
||||
createUnitTestTask(
|
||||
"dummyTaskId", "dummyTaskName", "workbasketKey", createDummyClassification());
|
||||
Map<String, String> dummyCustomAttributesPreClone = new HashMap<>();
|
||||
dummyCustomAttributesPreClone.put("dummyAttributeKey", "dummyAttributeValue");
|
||||
dummyTask.setCustomAttributes(dummyCustomAttributesPreClone);
|
||||
|
@ -59,16 +61,54 @@ class TaskModelsCloneTest {
|
|||
TaskImpl dummyTaskCloned = dummyTask.copy();
|
||||
assertThat(dummyTaskCloned).isNotEqualTo(dummyTask);
|
||||
dummyTaskCloned.setId(dummyTask.getId());
|
||||
dummyTaskCloned.setExternalId(dummyTask.getExternalId());
|
||||
assertThat(dummyTaskCloned).isEqualTo(dummyTask);
|
||||
assertThat(dummyTaskCloned).isNotSameAs(dummyTask);
|
||||
|
||||
dummyCustomAttributesPreClone.put("deepTestAttributeKey", "deepTestAttributeValue");
|
||||
dummyCallbackInfoPreClone.put("deepTestCallbackKey", "deepTestCallbackValue");
|
||||
assertThat(dummyTaskCloned).isNotEqualTo(dummyTask);
|
||||
assertThat(dummyTaskCloned).isNotSameAs(dummyTask);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testCloneInTaskComment() {
|
||||
void should_PerformDeepCopyOfAttachments_When_TaskClone() {
|
||||
TaskImpl dummyTask =
|
||||
createUnitTestTask(
|
||||
"dummyTaskId", "dummyTaskName", "dummyWorkbasketKey", createDummyClassification());
|
||||
List<Attachment> attachments =
|
||||
new ArrayList<>(
|
||||
Arrays.asList(
|
||||
createAttachment("abc", "dummyTaskId"), createAttachment("def", "dummyTaskId")));
|
||||
dummyTask.setAttachments(attachments);
|
||||
|
||||
TaskImpl dummyTaskCloned = dummyTask.copy();
|
||||
|
||||
assertThat(dummyTask.getAttachments()).isNotSameAs(dummyTaskCloned.getAttachments());
|
||||
}
|
||||
|
||||
@Test
|
||||
void should_RemoveAttachmentAndTaskIds_When_TaskClone() {
|
||||
TaskImpl dummyTask =
|
||||
createUnitTestTask(
|
||||
"dummyTaskId", "dummyTaskName", "workbasketKey", createDummyClassification());
|
||||
List<Attachment> attachments =
|
||||
new ArrayList<>(
|
||||
Arrays.asList(
|
||||
createAttachment("abc", "dummyTaskId"), createAttachment("def", "dummyTaskId")));
|
||||
dummyTask.setAttachments(attachments);
|
||||
|
||||
TaskImpl dummyTaskCloned = dummyTask.copy();
|
||||
|
||||
assertThat(dummyTaskCloned.getAttachments())
|
||||
.extracting(AttachmentSummary::getId)
|
||||
.containsOnly((String) null);
|
||||
assertThat(dummyTaskCloned.getAttachments())
|
||||
.extracting(AttachmentSummary::getTaskId)
|
||||
.containsOnly((String) null);
|
||||
}
|
||||
|
||||
@Test
|
||||
void should_CopyWithoutId_When_TaskCommentClone() {
|
||||
TaskCommentImpl dummyComment = new TaskCommentImpl();
|
||||
dummyComment.setTextField("dummyTextField");
|
||||
dummyComment.setId("dummyId");
|
||||
|
@ -80,7 +120,7 @@ class TaskModelsCloneTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
void testCloneInObjectReference() {
|
||||
void should_CopyWithoutId_When_ObjectReferenceClone() {
|
||||
ObjectReference dummyReference = new ObjectReference();
|
||||
dummyReference.setId("dummyId");
|
||||
dummyReference.setSystem("dummySystem");
|
||||
|
@ -88,7 +128,9 @@ class TaskModelsCloneTest {
|
|||
dummyReference.setSystemInstance("dummySystemInstance");
|
||||
dummyReference.setType("dummyType");
|
||||
dummyReference.setValue("dummyValue");
|
||||
|
||||
ObjectReference dummyReferenceCloned = dummyReference.copy();
|
||||
|
||||
assertThat(dummyReferenceCloned).isNotEqualTo(dummyReference);
|
||||
dummyReferenceCloned.setId(dummyReference.getId());
|
||||
assertThat(dummyReferenceCloned).isEqualTo(dummyReference);
|
||||
|
@ -96,22 +138,23 @@ class TaskModelsCloneTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
void testCloneInAttachmentSummary() {
|
||||
Attachment dummyAttachmentForSummaryTest =
|
||||
CreateTaskModelHelper.createAttachment("dummyAttachmentId", "dummyTaskId");
|
||||
void should_CopyWithoutIdAndTaskId_When_AttachmentSummaryClone() {
|
||||
Attachment dummyAttachmentForSummaryTest = createAttachment("dummyAttachmentId", "dummyTaskId");
|
||||
AttachmentSummaryImpl dummyAttachmentSummary =
|
||||
(AttachmentSummaryImpl) dummyAttachmentForSummaryTest.asSummary();
|
||||
|
||||
AttachmentSummaryImpl dummyAttachmentSummaryCloned = dummyAttachmentSummary.copy();
|
||||
assertThat(dummyAttachmentSummaryCloned).isNotEqualTo(dummyAttachmentSummary);
|
||||
|
||||
dummyAttachmentSummaryCloned.setId(dummyAttachmentSummary.getId());
|
||||
dummyAttachmentSummaryCloned.setTaskId(dummyAttachmentSummary.getTaskId());
|
||||
assertThat(dummyAttachmentSummaryCloned).isEqualTo(dummyAttachmentSummary);
|
||||
assertThat(dummyAttachmentSummaryCloned).isNotSameAs(dummyAttachmentSummary);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testCloneInAttachment() {
|
||||
AttachmentImpl dummyAttachment =
|
||||
CreateTaskModelHelper.createAttachment("dummyAttachmentId", "dummyTaskId");
|
||||
void should_CopyWithoutIdAndTaskId_When_AttachmentClone() {
|
||||
AttachmentImpl dummyAttachment = createAttachment("dummyAttachmentId", "dummyTaskId");
|
||||
|
||||
Map<String, String> dummyMapPreClone = new HashMap<>();
|
||||
dummyMapPreClone.put("dummyString1", "dummyString2");
|
||||
|
@ -120,6 +163,7 @@ class TaskModelsCloneTest {
|
|||
AttachmentImpl dummyAttachmentCloned = dummyAttachment.copy();
|
||||
assertThat(dummyAttachmentCloned).isNotEqualTo(dummyAttachment);
|
||||
dummyAttachmentCloned.setId(dummyAttachment.getId());
|
||||
dummyAttachmentCloned.setTaskId(dummyAttachment.getTaskId());
|
||||
assertThat(dummyAttachmentCloned).isEqualTo(dummyAttachment);
|
||||
assertThat(dummyAttachmentCloned).isNotSameAs(dummyAttachment);
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ import pro.taskana.workbasket.internal.models.WorkbasketSummaryImpl;
|
|||
class WorkbasketModelsCloneTest {
|
||||
|
||||
@Test
|
||||
void testCloneInWorkbasketSummary() {
|
||||
void should_CopyWithoutId_When_WorkbasketSummaryClone() {
|
||||
Workbasket dummyWorkbasketForSummaryTest = new WorkbasketImpl();
|
||||
dummyWorkbasketForSummaryTest.setCustom1("dummyCustom1");
|
||||
dummyWorkbasketForSummaryTest.setCustom2("dummyCustom2");
|
||||
|
@ -28,7 +28,9 @@ class WorkbasketModelsCloneTest {
|
|||
WorkbasketSummaryImpl dummyWorkbasketSummary =
|
||||
(WorkbasketSummaryImpl) dummyWorkbasketForSummaryTest.asSummary();
|
||||
dummyWorkbasketSummary.setId("dummyId");
|
||||
|
||||
WorkbasketSummaryImpl dummyWorkbasketSummaryCloned = dummyWorkbasketSummary.copy();
|
||||
|
||||
assertThat(dummyWorkbasketSummaryCloned).isNotEqualTo(dummyWorkbasketSummary);
|
||||
dummyWorkbasketSummaryCloned.setId(dummyWorkbasketSummary.getId());
|
||||
assertThat(dummyWorkbasketSummaryCloned).isEqualTo(dummyWorkbasketSummary);
|
||||
|
@ -36,7 +38,7 @@ class WorkbasketModelsCloneTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
void testCloneInWorkbasket() {
|
||||
void should_CopyWithoutId_When_WorkbasketClone() {
|
||||
WorkbasketImpl dummyWorkbasket = new WorkbasketImpl();
|
||||
dummyWorkbasket.setId("dummyId");
|
||||
dummyWorkbasket.setCustom1("dummyCustom1");
|
||||
|
@ -51,7 +53,9 @@ class WorkbasketModelsCloneTest {
|
|||
dummyWorkbasket.setOrgLevel3("dummyOrgLevel3");
|
||||
dummyWorkbasket.setOrgLevel4("dummyOrgLevel4");
|
||||
dummyWorkbasket.setOwner("dummyOwner");
|
||||
WorkbasketImpl dummyWorkbasketCloned = dummyWorkbasket.copy();
|
||||
|
||||
WorkbasketImpl dummyWorkbasketCloned = dummyWorkbasket.copy(dummyWorkbasket.getKey());
|
||||
|
||||
assertThat(dummyWorkbasketCloned).isNotEqualTo(dummyWorkbasket);
|
||||
dummyWorkbasketCloned.setId(dummyWorkbasket.getId());
|
||||
assertThat(dummyWorkbasketCloned).isEqualTo(dummyWorkbasket);
|
||||
|
@ -59,7 +63,7 @@ class WorkbasketModelsCloneTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
void testCloneInWorkbasketAccessItem() {
|
||||
void should_CopyWithoutId_When_WorkbasketAccessItemClone() {
|
||||
WorkbasketAccessItemImpl dummyWorkbasketAccessItem = new WorkbasketAccessItemImpl();
|
||||
dummyWorkbasketAccessItem.setId("dummyId");
|
||||
dummyWorkbasketAccessItem.setAccessName("dummyAccessName");
|
||||
|
@ -80,7 +84,9 @@ class WorkbasketModelsCloneTest {
|
|||
dummyWorkbasketAccessItem.setPermOpen(false);
|
||||
dummyWorkbasketAccessItem.setPermRead(false);
|
||||
dummyWorkbasketAccessItem.setPermTransfer(false);
|
||||
|
||||
WorkbasketAccessItemImpl dummyWorkbasketAccessItemCloned = dummyWorkbasketAccessItem.copy();
|
||||
|
||||
assertThat(dummyWorkbasketAccessItemCloned).isNotEqualTo(dummyWorkbasketAccessItem);
|
||||
dummyWorkbasketAccessItemCloned.setId(dummyWorkbasketAccessItem.getId());
|
||||
assertThat(dummyWorkbasketAccessItemCloned).isEqualTo(dummyWorkbasketAccessItem);
|
||||
|
|
Loading…
Reference in New Issue