@Test
 public void findById() {
   final Long uuid = findFirstTagId();
   final Tag tag = tagRepository.findOne(uuid);
   assertThat(tag, is(instanceOf(Tag.class)));
   assertThat(tag.getId(), is(uuid));
 }
  private Long findFirstFlashCardId() {
    List<Tag> tags = tagRepository.findAll();

    Optional<Tag> firstTag =
        tags.stream().filter(tag -> tag.getFlashCards().size() > 0).findFirst();

    return firstTag.isPresent() ? firstTag.get().getFlashCards().iterator().next().getId() : null;
  }
 private Long findFirstTagId() {
   return tagRepository.findAll(new PageRequest(0, 1)).iterator().next().getId();
 }
 @Test
 public void findByFlashCardsId() {
   final Long flashCardId = findFirstFlashCardId();
   final List<Tag> tags = tagRepository.findByFlashCards_Id(flashCardId);
   assertThat(tags.size(), is(1));
 }
 @Test
 public void findByName() {
   final Tag tag = tagRepository.findByName("tag1");
   assertThat(tag, is(instanceOf(Tag.class)));
 }
 @Test
 public void findByName_noSuchTag() {
   final Tag tag = tagRepository.findByName("DOES_NOT_EXIST");
   assertThat(tag, is(nullValue()));
 }