Projekt

Obecné

Profil

« Předchozí | Další » 

Revize c5787e2d

Přidáno uživatelem Jakub Šmíd před asi 3 roky(ů)

Added test for path

re #9490

Zobrazit rozdíly:

backend/src/test/java/cz/zcu/kiv/backendapi/catalog/CatalogItemRepositoryTest.java
14 14
import java.util.Set;
15 15

  
16 16
import static org.assertj.core.api.AssertionsForClassTypes.assertThat;
17
import static org.junit.jupiter.api.Assertions.*;
17
import static org.junit.jupiter.api.Assertions.assertTrue;
18 18

  
19 19
@DataJpaTest
20 20
class CatalogItemRepositoryTest {
......
323 323
        assertThat(filterResult.size()).isEqualTo(1);
324 324
        assertTrue(filterResult.contains(catalogItem3));
325 325
    }
326

  
327
    @Test
328
    void testItemsByName() {
329
        // given
330
        String name = "twelve";
331

  
332
        // when
333
        List<CatalogItem> res = underTest.getItemsByName(name);
334

  
335
        // then
336
        assertThat(res.size()).isEqualTo(2);
337
        assertTrue(res.contains(catalogItem2));
338
        assertTrue(res.contains(catalogItem4));
339
    }
326 340
}
backend/src/test/java/cz/zcu/kiv/backendapi/catalog/CatalogItemServiceImplTest.java
4 4
import cz.zcu.kiv.backendapi.bibliography.Bibliography;
5 5
import cz.zcu.kiv.backendapi.country.Country;
6 6
import cz.zcu.kiv.backendapi.exception.ApiRequestException;
7
import cz.zcu.kiv.backendapi.path.PathDto;
7 8
import cz.zcu.kiv.backendapi.type.Type;
8 9
import cz.zcu.kiv.backendapi.type.TypeServiceImpl;
9 10
import cz.zcu.kiv.backendapi.writtenform.WrittenForm;
10 11
import org.junit.jupiter.api.BeforeEach;
11 12
import org.junit.jupiter.api.Test;
12 13
import org.junit.jupiter.api.extension.ExtendWith;
13
import org.mockito.*;
14
import org.mockito.ArgumentCaptor;
15
import org.mockito.Mock;
14 16
import org.mockito.junit.jupiter.MockitoExtension;
15 17

  
16
import java.util.List;
17
import java.util.Optional;
18
import java.util.Set;
19
import java.util.UUID;
18
import java.util.*;
19
import java.util.stream.Collectors;
20
import java.util.stream.Stream;
20 21

  
21 22
import static org.assertj.core.api.AssertionsForClassTypes.assertThat;
22 23
import static org.assertj.core.api.AssertionsForClassTypes.assertThatThrownBy;
......
128 129

  
129 130
    }
130 131

  
132
    @Test
133
    void testCanGetCatalogItem() {
134
        // given
135
        UUID id = UUID.randomUUID();
136
        CatalogItem catalogItem = new CatalogItem();
137
        catalogItem.setId(id);
138
        CatalogItemDto catalogItemDto = new CatalogItemDto();
139
        catalogItemDto.setId(id);
140
        given(catalogItemRepository.findById(id)).willReturn(Optional.of(catalogItem));
141

  
142
        // when
143
        CatalogItemDto retrievedItemDto = underTest.getCatalogItem(id);
144

  
145
        // then
146
        verify(catalogItemRepository).findById(id);
147
        assertThat(retrievedItemDto).isEqualTo(catalogItemDto);
148
    }
149

  
150
    @Test
151
    void testCanNotGetCatalogItem() {
152
        // given
153
        UUID id = UUID.randomUUID();
154

  
155
        // when
156
        // then
157
        assertThatThrownBy(() -> underTest.getCatalogItem(id))
158
                .isInstanceOf(ApiRequestException.class)
159
                .hasMessageContaining("Catalog item not found");
160

  
161
        verify(catalogItemRepository).findById(id);
162
    }
163

  
131 164
    @Test
132 165
    void testCanUpdateCatalogItem() {
133 166
        // given
......
310 343

  
311 344
        verify(catalogItemRepository).filterCatalog(nameChanged, countryChanged, typeChanged);
312 345
    }
346

  
347
    @Test
348
    void testSearchedTest() {
349
        // given
350
        String text = "The city of Azbar was found in first century near the ocean. " +
351
                "⌈U-re-me-re⌉, another town, was found " +
352
                "in 1956. The location of Huga and Duga is not known, but it was probably near Puga.";
353
        String highlightedText = "The <b>city</b> of <span style='color:green'>Azbar</span> was found in first century near the <b>ocean</b>. " +
354
                "⌈<span style='color:green'>U-re-me-re</span>⌉, another town, was found " +
355
                "in 1956. The location of <span style='color:red'>Huga</span> and <span style='color:red'>Duga</span> is not known, but it was probably near Puga.";
356

  
357
        CatalogItem catalogItem1 = new CatalogItem();
358
        catalogItem1.setAlternativeNames(Stream.of(new AlternativeName("Azbar", catalogItem1)).collect(Collectors.toSet()));
359
        catalogItem1.setLatitude(5);
360
        catalogItem1.setLongitude(5);
361

  
362
        CatalogItem catalogItem2 = new CatalogItem();
363
        catalogItem2.setAlternativeNames(Stream.of(new AlternativeName("Azbar", catalogItem2), new AlternativeName("Azbarasdf", catalogItem2)).collect(Collectors.toSet()));
364
        catalogItem2.setLatitude(0.0);
365
        catalogItem2.setLongitude(0.0);
366

  
367
        CatalogItem catalogItem3 = new CatalogItem();
368
        catalogItem3.setAlternativeNames(Stream.of(new AlternativeName("U-re-me-re", catalogItem3)).collect(Collectors.toSet()));
369
        catalogItem3.setLatitude(55);
370
        catalogItem3.setLongitude(68);
371

  
372
        CatalogItem catalogItem4 = new CatalogItem();
373
        catalogItem4.setAlternativeNames(Stream.of(new AlternativeName("Huga", catalogItem4)).collect(Collectors.toSet()));
374
        catalogItem4.setLatitude(0.0);
375
        catalogItem4.setLongitude(0.0);
376

  
377
        CatalogItem catalogItem5 = new CatalogItem();
378
        catalogItem5.setAlternativeNames(Stream.of(new AlternativeName("Huga", catalogItem5), new AlternativeName("Hugaa", catalogItem5)).collect(Collectors.toSet()));
379
        catalogItem5.setLatitude(0.0);
380
        catalogItem5.setLongitude(0.0);
381

  
382
        CatalogItem catalogItem6 = new CatalogItem();
383
        catalogItem6.setAlternativeNames(Stream.of(new AlternativeName("Duga", catalogItem6)).collect(Collectors.toSet()));
384
        catalogItem6.setLatitude(0.0);
385
        catalogItem6.setLongitude(0.0);
386

  
387
        CatalogItemDto catalogItemDto1 = new CatalogItemDto();
388
        catalogItemDto1.setAlternativeNames(Stream.of("Azbar").collect(Collectors.toSet()));
389
        catalogItemDto1.setLatitude(5);
390
        catalogItemDto1.setLongitude(5);
391

  
392
        CatalogItemDto catalogItemDto2 = new CatalogItemDto();
393
        catalogItemDto2.setAlternativeNames(Stream.of("Azbar", "Azbarasdf").collect(Collectors.toSet()));
394
        catalogItemDto2.setLatitude(0.0);
395
        catalogItemDto2.setLongitude(0.0);
396

  
397
        CatalogItemDto catalogItemDto3 = new CatalogItemDto();
398
        catalogItemDto3.setAlternativeNames(Stream.of("U-re-me-re").collect(Collectors.toSet()));
399
        catalogItemDto3.setLatitude(55);
400
        catalogItemDto3.setLongitude(68);
401

  
402
        CatalogItemDto catalogItemDto4 = new CatalogItemDto();
403
        catalogItemDto4.setAlternativeNames(Stream.of("Huga").collect(Collectors.toSet()));
404
        catalogItemDto4.setLatitude(0.0);
405
        catalogItemDto4.setLongitude(0.0);
406

  
407
        CatalogItemDto catalogItemDto5 = new CatalogItemDto();
408
        catalogItemDto5.setAlternativeNames(Stream.of("Huga", "Hugaa").collect(Collectors.toSet()));
409
        catalogItemDto5.setLatitude(0.0);
410
        catalogItemDto5.setLongitude(0.0);
411

  
412
        CatalogItemDto catalogItemDto6 = new CatalogItemDto();
413
        catalogItemDto6.setAlternativeNames(Stream.of("Duga").collect(Collectors.toSet()));
414
        catalogItemDto6.setLatitude(0.0);
415
        catalogItemDto6.setLongitude(0.0);
416

  
417

  
418
        given(typeService.getAllTypesAsString()).willReturn(Stream.of("city", "ocean").collect(Collectors.toSet()));
419
        given(catalogItemRepository.getItemsByName(anyString())).willReturn(Collections.emptyList());
420
        given(catalogItemRepository.getItemsByName("Azbar")).willReturn(Stream.of(catalogItem1, catalogItem2).collect(Collectors.toList()));
421
        given(catalogItemRepository.getItemsByName("U-re-me-re")).willReturn(Stream.of(catalogItem3).collect(Collectors.toList()));
422
        given(catalogItemRepository.getItemsByName("Huga")).willReturn(Stream.of(catalogItem4, catalogItem5).collect(Collectors.toList()));
423
        given(catalogItemRepository.getItemsByName("Duga")).willReturn(Stream.of(catalogItem6).collect(Collectors.toList()));
424

  
425
        // when
426
        PathDto pathDto = underTest.getPath(text);
427

  
428
        // then
429
        verify(catalogItemRepository).getItemsByName("Azbar");
430
        verify(catalogItemRepository).getItemsByName("U-re-me-re");
431
        verify(catalogItemRepository).getItemsByName("Huga");
432
        verify(catalogItemRepository).getItemsByName("Duga");
433
        verify(catalogItemRepository).getItemsByName("Puga");
434

  
435
        assertThat(pathDto.getText()).isEqualTo(highlightedText);
436

  
437
        assertThat(pathDto.getFoundCatalogItems().size()).isEqualTo(4);
438

  
439
        assertThat(pathDto.getFoundCatalogItems().get(0).size()).isEqualTo(2);
440
        assertThat(pathDto.getFoundCatalogItems().get(0).get(0)).isEqualTo(catalogItemDto1);
441
        assertThat(pathDto.getFoundCatalogItems().get(0).get(1)).isEqualTo(catalogItemDto2);
442

  
443
        assertThat(pathDto.getFoundCatalogItems().get(1).size()).isEqualTo(1);
444
        assertThat(pathDto.getFoundCatalogItems().get(1).get(0)).isEqualTo(catalogItemDto3);
445

  
446
        assertThat(pathDto.getFoundCatalogItems().get(2).size()).isEqualTo(2);
447
        assertThat(pathDto.getFoundCatalogItems().get(2).get(0)).isEqualTo(catalogItemDto4);
448
        assertThat(pathDto.getFoundCatalogItems().get(2).get(1)).isEqualTo(catalogItemDto5);
449

  
450
        assertThat(pathDto.getFoundCatalogItems().get(3).size()).isEqualTo(1);
451
        assertThat(pathDto.getFoundCatalogItems().get(3).get(0)).isEqualTo(catalogItemDto6);
452
    }
313 453
}
backend/src/test/java/cz/zcu/kiv/backendapi/type/TypeServiceImplTest.java
7 7
import org.mockito.Mock;
8 8
import org.mockito.junit.jupiter.MockitoExtension;
9 9

  
10
import java.util.Set;
11
import java.util.stream.Collectors;
12
import java.util.stream.Stream;
10 13

  
11 14
import static org.assertj.core.api.AssertionsForClassTypes.assertThat;
15
import static org.mockito.BDDMockito.given;
12 16
import static org.mockito.Mockito.verify;
13 17

  
14 18
@ExtendWith(MockitoExtension.class)
......
44 48
    void getTypeByName() {
45 49
        // when
46 50
        String typeName = "type";
51

  
52
        // given
47 53
        underTest.getTypeByName(typeName);
48 54

  
49 55
        // then
50 56
        verify(typeRepository).findById(typeName);
51 57
    }
58

  
59
    @Test
60
    void getTypesAsString() {
61
        // when
62
        String stringType1 = "type1";
63
        String stringType2 = "type2";
64
        String stringType3 = "type3";
65
        String stringType4 = "type4";
66
        String stringType5 = "type5";
67

  
68
        Type type1 = new Type(stringType1);
69
        Type type2 = new Type(stringType2);
70
        Type type3 = new Type(stringType3);
71
        Type type4 = new Type(stringType4);
72
        Type type5 = new Type(stringType5);
73

  
74
        // given
75
        given(typeRepository.findAll()).willReturn(Stream.of(type1, type2, type3, type4, type5).collect(Collectors.toList()));
76
        Set<String> res = underTest.getAllTypesAsString();
77

  
78
        // then
79
        verify(typeRepository).findAll();
80

  
81
        assertThat(res.size()).isEqualTo(5);
82

  
83
        assertThat(res.contains(stringType1)).isTrue();
84
        assertThat(res.contains(stringType2)).isTrue();
85
        assertThat(res.contains(stringType3)).isTrue();
86
        assertThat(res.contains(stringType4)).isTrue();
87
        assertThat(res.contains(stringType5)).isTrue();
88
    }
52 89
}

Také k dispozici: Unified diff