Advertisement
ReDestroyDeR

HashtagRepositoryTest

Sep 28th, 2021
629
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.47 KB | None | 0 0
  1. package ru.javamentor.medium_20.repository;
  2.  
  3. import org.junit.jupiter.api.Test;
  4. import org.springframework.beans.factory.annotation.Autowired;
  5. import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
  6. import ru.javamentor.medium_20.model.topic.Hashtag;
  7. import ru.javamentor.medium_20.model.topic.Topic;
  8.  
  9. import java.util.HashSet;
  10. import java.util.List;
  11. import java.util.concurrent.ThreadLocalRandom;
  12. import java.util.stream.Collectors;
  13. import java.util.stream.Stream;
  14.  
  15. import static org.junit.jupiter.api.Assertions.assertEquals;
  16.  
  17. /**
  18.  * @author Daniil Shreyder
  19.  * Date: 04.06.2021
  20.  */
  21.  
  22. @DataJpaTest
  23. class HashtagRepositoryTest {
  24.  
  25.     @Autowired
  26.     HashtagRepository hashtagRepository;
  27.  
  28.     @Autowired
  29.     TopicRepository topicRepository;
  30.  
  31.     Topic generateTestTopic() {
  32.         Topic topic = new Topic();
  33.         topicRepository.save(topic);
  34.         return topic;
  35.     }
  36.  
  37.     Hashtag generateTestHashtag() {
  38.         Hashtag hashtag = new Hashtag();
  39.         hashtag.setName("" + ThreadLocalRandom.current().nextInt(100000));
  40.         hashtag.setTopics(new HashSet<>());
  41.         return hashtag;
  42.     }
  43.  
  44.     @Test
  45.     void findHashtagWithTopicsById() {
  46.         Hashtag hashtag = generateTestHashtag();
  47.         List<Topic> topicList = Stream.generate(this::generateTestTopic).limit(100L).collect(Collectors.toList());
  48.         hashtag.getTopics().addAll(topicList);
  49.         // Id gets assigned to hashtag here
  50.         hashtagRepository.save(hashtag);
  51.         Hashtag test = hashtagRepository.findHashtagWithTopicsById(hashtag.getId()).orElseThrow();
  52.         assertEquals(hashtag, test);
  53.     }
  54.  
  55.     @Test
  56.     void findHashtagWithTopicsByName() {
  57.         Hashtag hashtag = generateTestHashtag();
  58.         List<Topic> topicList = Stream.generate(this::generateTestTopic).limit(100L).collect(Collectors.toList());
  59.         hashtag.getTopics().addAll(topicList);
  60.         hashtagRepository.save(hashtag);
  61.         Hashtag test = hashtagRepository.findHashtagWithTopicsByName(hashtag.getName()).orElseThrow();
  62.         assertEquals(hashtag, test);
  63.     }
  64.  
  65.     @Test
  66.     void findByName() {
  67.         Hashtag hashtag = generateTestHashtag();
  68.         hashtagRepository.save(hashtag);
  69.         Hashtag test = hashtagRepository.findByName(hashtag.getName()).orElseThrow();
  70.         assertEquals(hashtag, test);
  71.     }
  72.  
  73.     @Test
  74.     void getHashtagWithTopicsById() {
  75.         Hashtag hashtag = generateTestHashtag();
  76.         List<Topic> topicList = Stream.generate(this::generateTestTopic).limit(100L).collect(Collectors.toList());
  77.         hashtag.getTopics().addAll(topicList);
  78.         // Id gets assigned to hashtag here
  79.         hashtagRepository.save(hashtag);
  80.         Hashtag test = hashtagRepository.getHashtagWithTopicsById(hashtag.getId());
  81.         assertEquals(hashtag, test);
  82.     }
  83.  
  84.     @Test
  85.     void getHashtagWithTopicsByName() {
  86.         Hashtag hashtag = generateTestHashtag();
  87.         List<Topic> topicList = Stream.generate(this::generateTestTopic).limit(100L).collect(Collectors.toList());
  88.         hashtag.getTopics().addAll(topicList);
  89.         hashtagRepository.save(hashtag);
  90.         Hashtag test = hashtagRepository.getHashtagWithTopicsByName(hashtag.getName());
  91.         assertEquals(hashtag, test);
  92.     }
  93.  
  94.     @Test
  95.     void getByName() {
  96.         Hashtag hashtag = generateTestHashtag();
  97.         hashtagRepository.save(hashtag);
  98.         Hashtag test = hashtagRepository.getByName(hashtag.getName());
  99.         assertEquals(hashtag, test);
  100.     }
  101. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement