TSK-1168: added acceptance tests to show that you can create entities after copy

This commit is contained in:
Mustapha Zorgati 2020-04-06 19:43:24 +02:00
parent 11bdda1047
commit 4a4a11704e
20 changed files with 231 additions and 120 deletions

View File

@ -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
*/

View File

@ -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);

View File

@ -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;
}
}

View File

@ -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;

View File

@ -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
*/

View File

@ -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
*/

View File

@ -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
*/

View File

@ -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
*/

View File

@ -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;

View File

@ -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() {

View File

@ -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;

View File

@ -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.

View File

@ -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);
}

View File

@ -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;

View File

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

View File

@ -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"})

View File

@ -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"})

View File

@ -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);

View File

@ -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);

View File

@ -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);