package com.querydsl.example.sql.repository; import com.querydsl.example.sql.model.Tweet; import com.querydsl.example.sql.model.User; import org.junit.Test; import javax.inject.Inject; import java.util.List; import static org.junit.Assert.*; public class UserRepositoryTest extends AbstractPersistenceTest { @Inject private UserRepository repository; @Inject private TweetRepository tweetRepository; @Test public void save_and_get_by_id() { String username = "jackie"; User user = new User(); user.setUsername(username); Long id = repository.save(user); assertEquals(username, repository.findById(id).getUsername()); } @Test public void get_all() { User user = new User(); user.setUsername("jimmy"); repository.save(user); assertTrue(repository.all().size() == 1); } @Test public void get_all_with_tweet_count() { User user = new User(); user.setUsername("jimmy"); Long posterId = repository.save(user); Tweet tw3 = new Tweet(); tw3.setPosterId(posterId); tw3.setContent("#EpicFail"); tweetRepository.save(tw3); List<UserInfo> infos = repository.allWithTweetCount(); assertFalse(infos.isEmpty()); for (UserInfo info : infos) { assertNotNull(info.getUsername()); } } }