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