View Javadoc
1   package de.dlr.shepard.common.search.services;
2   
3   import static org.junit.jupiter.api.Assertions.assertEquals;
4   import static org.mockito.Mockito.when;
5   
6   import de.dlr.shepard.BaseTestCase;
7   import de.dlr.shepard.auth.users.entities.UserGroup;
8   import de.dlr.shepard.auth.users.io.UserGroupIO;
9   import de.dlr.shepard.common.search.daos.SearchDAO;
10  import de.dlr.shepard.common.search.io.UserGroupSearchBody;
11  import de.dlr.shepard.common.search.io.UserGroupSearchParams;
12  import de.dlr.shepard.common.search.io.UserGroupSearchResult;
13  import de.dlr.shepard.common.search.query.Neo4jQueryBuilder;
14  import java.util.List;
15  import org.junit.jupiter.api.Test;
16  import org.mockito.InjectMocks;
17  import org.mockito.Mock;
18  
19  public class UserGroupSearchServiceTest extends BaseTestCase {
20  
21    @Mock
22    private SearchDAO searchDAO;
23  
24    @InjectMocks
25    private UserGroupSearchService userGroupSearcher;
26  
27    @Test
28    public void searchUserGroupTest() {
29      String JSONquery = "{\"property\": \"name\", \"value\": \"MyName\", \"operator\": \"eq\"}";
30      var params = new UserGroupSearchParams(JSONquery);
31      var searchBody = new UserGroupSearchBody(params);
32      String selectionQuery = Neo4jQueryBuilder.userGroupSelectionQuery(JSONquery);
33      var userGroup = new UserGroup(123);
34      when(searchDAO.findUserGroups(selectionQuery, "userGroup")).thenReturn(List.of(userGroup));
35      var actual = userGroupSearcher.search(searchBody);
36      UserGroupIO[] result = { new UserGroupIO(userGroup) };
37      var expected = new UserGroupSearchResult(result, params);
38      assertEquals(expected, actual);
39    }
40  }