1 package de.dlr.shepard.auth.users.daos;
2
3 import static org.junit.jupiter.api.Assertions.assertEquals;
4 import static org.junit.jupiter.api.Assertions.assertFalse;
5 import static org.junit.jupiter.api.Assertions.assertTrue;
6 import static org.mockito.Mockito.doNothing;
7 import static org.mockito.Mockito.when;
8
9 import de.dlr.shepard.BaseTestCase;
10 import de.dlr.shepard.auth.users.entities.User;
11 import org.junit.jupiter.api.Test;
12 import org.mockito.ArgumentCaptor;
13 import org.mockito.Captor;
14 import org.mockito.InjectMocks;
15 import org.mockito.Mock;
16 import org.neo4j.ogm.session.Session;
17
18 public class UserDAOTest extends BaseTestCase {
19
20 @Mock
21 private Session session;
22
23 @InjectMocks
24 private UserDAO dao;
25
26 @Captor
27 private ArgumentCaptor<String> queryCaptor;
28
29 @Test
30 public void getEntityTypeTest() {
31 var type = dao.getEntityType();
32 assertEquals(User.class, type);
33 }
34
35 @Test
36 public void findTest() {
37 var a = new User("bob");
38
39 when(session.load(User.class, "bob", 1)).thenReturn(a);
40 var actual = dao.find("bob");
41 assertEquals(a, actual);
42 }
43
44 @Test
45 public void deleteTest_Successful() {
46 var a = new User("bob");
47
48 when(session.load(User.class, "bob")).thenReturn(a);
49 doNothing().when(session).delete(a);
50 var actual = dao.delete("bob");
51 assertTrue(actual);
52 }
53
54 @Test
55 public void deleteTest_Error() {
56 var a = new User("bob");
57
58 when(session.load(User.class, "bob")).thenReturn(null);
59 doNothing().when(session).delete(a);
60 var actual = dao.delete("bob");
61 assertFalse(actual);
62 }
63 }