Projekt

Obecné

Profil

Stáhnout (2.41 KB) Statistiky
| Větev: | Tag: | Revize:
1
package cz.zcu.kiv.backendapi.external;
2

    
3
import com.zaxxer.hikari.HikariDataSource;
4
import org.junit.jupiter.api.BeforeEach;
5
import org.junit.jupiter.api.Test;
6
import org.junit.jupiter.api.extension.ExtendWith;
7
import org.mockito.Mock;
8
import org.mockito.junit.jupiter.MockitoExtension;
9

    
10
import java.util.List;
11
import java.util.Set;
12
import java.util.UUID;
13

    
14
import static org.assertj.core.api.AssertionsForClassTypes.assertThat;
15
import static org.junit.jupiter.api.Assertions.assertTrue;
16
import static org.mockito.BDDMockito.given;
17
import static org.mockito.Mockito.verify;
18

    
19
@ExtendWith(MockitoExtension.class)
20
class ExternalCatalogItemItemServiceImplTest {
21

    
22
    @Mock
23
    private ExternalCatalogItemRepository externalCatalogItemRepository;
24

    
25
    @Mock
26
    private HikariDataSource hikariDataSource;
27

    
28
    @Mock
29
    private SetToStringConverter setToStringConverter;
30

    
31
    private ExternalCatalogItemItemServiceImpl underTest;
32

    
33
    @BeforeEach
34
    void setUp() {
35
        underTest = new ExternalCatalogItemItemServiceImpl(externalCatalogItemRepository, hikariDataSource, setToStringConverter);
36
    }
37

    
38
    @Test
39
    void getCatalog() {
40
        // given
41
        ExternalCatalogItem catalogItem1 = new ExternalCatalogItem(UUID.randomUUID(), ExternalSource.PLEIADES, 10.0, 10.0, null, null, null, null, null, Set.of("first", "NAME"), null, null, null, null, null, null);
42
        ExternalCatalogItem catalogItem2 = new ExternalCatalogItem(UUID.randomUUID(), ExternalSource.PLEIADES, 10.0, 10.0, null, null, null, null, null, Set.of("second", "name"), null, null, null, null, null, null);
43
        ExternalCatalogItem catalogItem3 = new ExternalCatalogItem(UUID.randomUUID(), ExternalSource.PLEIADES, 10.0, 10.0, null, null, null, null, null, Set.of("fourth", "nane"), null, null, null, null, null, null);
44
        String name = "na?*";
45
        ExternalSource source = ExternalSource.PLEIADES;
46
        given(externalCatalogItemRepository.getFilteredExternalCatalog("%na_%%", source.name())).willReturn(List.of(catalogItem1, catalogItem2, catalogItem3));
47

    
48
        // when
49
        List<ExternalCatalogItem> result = underTest.getCatalog(name, source);
50

    
51
        // then
52
        verify(externalCatalogItemRepository).getFilteredExternalCatalog("%na_%%", source.name());
53
        assertThat(result.size()).isEqualTo(3);
54
        assertTrue(result.contains(catalogItem1));
55
        assertTrue(result.contains(catalogItem2));
56
        assertTrue(result.contains(catalogItem3));
57
    }
58
}
(1-1/2)