1 package de.dlr.shepard.context.references.dataobject.io;
2
3 import static org.junit.jupiter.api.Assertions.assertEquals;
4
5 import de.dlr.shepard.auth.users.entities.User;
6 import de.dlr.shepard.context.collection.entities.DataObject;
7 import de.dlr.shepard.context.references.dataobject.entities.DataObjectReference;
8 import java.util.Date;
9 import nl.jqno.equalsverifier.EqualsVerifier;
10 import org.junit.jupiter.api.Test;
11
12 public class DataObjectReferenceIOTest {
13
14 @Test
15 public void equalsContract() {
16 EqualsVerifier.simple().forClass(DataObjectReferenceIO.class).verify();
17 }
18
19 @Test
20 public void testConversion() {
21 var date = new Date();
22 var user = new User("bob");
23 var update = new Date();
24 var updateUser = new User("claus");
25 var dataObject = new DataObject(2L);
26 dataObject.setShepardId(33L);
27 var referenced = new DataObject(3L);
28 referenced.setShepardId(986L);
29
30 var obj = new DataObjectReference(1L);
31 obj.setShepardId(556L);
32 obj.setCreatedAt(date);
33 obj.setCreatedBy(user);
34 obj.setName("MyName");
35 obj.setUpdatedAt(update);
36 obj.setUpdatedBy(updateUser);
37 obj.setDataObject(dataObject);
38 obj.setReferencedDataObject(referenced);
39 obj.setRelationship("TestRel");
40
41 var converted = new DataObjectReferenceIO(obj);
42 assertEquals(obj.getShepardId(), converted.getId());
43 assertEquals(obj.getCreatedAt(), converted.getCreatedAt());
44 assertEquals("bob", converted.getCreatedBy());
45 assertEquals(obj.getName(), converted.getName());
46 assertEquals(obj.getUpdatedAt(), converted.getUpdatedAt());
47 assertEquals("claus", converted.getUpdatedBy());
48 assertEquals(dataObject.getShepardId(), converted.getDataObjectId());
49 assertEquals(referenced.getShepardId(), converted.getReferencedDataObjectId());
50 assertEquals(obj.getRelationship(), converted.getRelationship());
51 }
52
53 @Test
54 public void testConversion_Deleted() {
55 var dataObject = new DataObject(2L);
56 dataObject.setShepardId(195L);
57
58 var obj = new DataObjectReference(1L);
59 obj.setShepardId(58585L);
60 obj.setDataObject(dataObject);
61 obj.setReferencedDataObject(null);
62 obj.setRelationship("TestRel");
63
64 var converted = new DataObjectReferenceIO(obj);
65 assertEquals(obj.getShepardId(), converted.getId());
66 assertEquals(dataObject.getShepardId(), converted.getDataObjectId());
67 assertEquals(-1, converted.getReferencedDataObjectId());
68 assertEquals(obj.getRelationship(), converted.getRelationship());
69 }
70 }