View Javadoc
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  }