From Fiery Agouti, 5 Years ago, written in Plain Text.
Embed
  1. package com.fosspowered.peist.respository;
  2.  
  3. import static org.assertj.core.api.Assertions.assertThat;
  4.  
  5. import com.fosspowered.peist.model.dao.Paste;
  6. import com.fosspowered.peist.repository.PasteRepository;
  7.  
  8. import java.sql.Date;
  9. import java.util.Optional;
  10. import org.apache.commons.lang3.RandomStringUtils;
  11. import org.junit.jupiter.api.Test;
  12. import org.junit.jupiter.api.extension.ExtendWith;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
  15. import org.springframework.boot.test.autoconfigure.orm.jpa.TestEntityManager;
  16. import org.springframework.test.context.junit.jupiter.SpringExtension;
  17.  
  18. @ExtendWith(SpringExtension.class)
  19. @DataJpaTest
  20. class PasteRepositoryTest {
  21.  
  22.   @Autowired private TestEntityManager entityManager;
  23.  
  24.   @Autowired private PasteRepository pasteRepository;
  25.  
  26.   @Test
  27.   void whenFindByUrlId_ofValidId_thenReturnValidPaste() {
  28.     // given
  29.     String urlId = "id1";
  30.     Paste paste =
  31.         new Paste(
  32.             null,
  33.             urlId,
  34.             "title",
  35.             "author",
  36.             "util",
  37.             null,
  38.             true,
  39.             new Date(2019, 1, 1),
  40.             RandomStringUtils.randomAlphabetic(100));
  41.  
  42.     entityManager.persist(paste);
  43.     entityManager.flush();
  44.  
  45.     // when
  46.     Optional<Paste> actualPaste = pasteRepository.findByUrlId(urlId);
  47.  
  48.     assertThat(actualPaste).isPresent();
  49.     assertThat(actualPaste).contains(paste);
  50.   }
  51.  
  52.   @Test
  53.   void whenFindByUrlId_ofInvalidId_thenReturnEmpty() {
  54.     Optional<Paste> invalidPaste = pasteRepository.findByUrlId("invalidId");
  55.     assertThat(invalidPaste).isNotPresent();
  56.   }
  57. }
  58.