Skip to content

Commit

Permalink
[#54] test: FollowQueryDslRepositoryTest 인스턴스 생성자 테스트 작성
Browse files Browse the repository at this point in the history
  • Loading branch information
kwj1270 committed Oct 11, 2021
1 parent 27af8e6 commit cad2f50
Show file tree
Hide file tree
Showing 7 changed files with 47 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,10 @@ public Follow changeFollower(final User follower) {
return this;
}

public Long id() {
return id;
}

public User following() {
return following;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
package com.study.realworld.domain.follow.domain;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;

@Repository
public interface FollowRepository extends CrudRepository<Follow, Long> {
public interface FollowRepository extends JpaRepository<Follow, Long> {
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,15 @@

import com.study.realworld.domain.user.domain.vo.Email;
import com.study.realworld.domain.user.domain.vo.Name;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;

import java.util.Optional;

@Repository
public interface UserRepository extends CrudRepository<User, Long> {
public interface UserRepository extends JpaRepository<User, Long> {
Optional<User> findByEmail(final Email email);
boolean existsByEmail(final Email email);

Optional<User> findByUsername(final Name followingName, final Name followerName);

}

Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package com.study.realworld.domain.follow.domain;

import com.querydsl.jpa.impl.JPAQueryFactory;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;

import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.jupiter.api.Assertions.*;

@ExtendWith(MockitoExtension.class)
class FollowQueryDslRepositoryTest {

@Mock
private JPAQueryFactory jpaQueryFactory;

@DisplayName("FollowQueryDslRepositoryTest 인스턴스 생성자 테스트")
@Test
void constructor_test() {
final FollowQueryDslRepository followQueryDslRepository = new FollowQueryDslRepository(jpaQueryFactory);
assertAll(
() -> assertThat(followQueryDslRepository).isNotNull(),
() -> assertThat(followQueryDslRepository).isExactlyInstanceOf(FollowQueryDslRepository.class)
);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -71,9 +71,8 @@ void delete_test() {

testEntityManager.persist(following);
testEntityManager.persist(follower);
testEntityManager.persist(follow);

final Follow findFollow = followRepository.findById(1L).get();
final Follow savedFollow = followRepository.save(follow);
final Follow findFollow = followRepository.findById(savedFollow.id()).get();
followRepository.delete(findFollow);

assertThat(followRepository.count()).isEqualTo(0);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
import org.springframework.boot.test.autoconfigure.orm.jpa.TestEntityManager;
import org.springframework.test.annotation.DirtiesContext;

import java.util.List;

Expand Down Expand Up @@ -38,7 +39,7 @@ void save_test() {
void findById_test() {
final User user = userBuilder(new Email(EMAIL), new Name(USERNAME), new Password(PASSWORD), new Bio(BIO), new Image(IMAGE));
final User expected = testEntityManager.persist(user);
final User actual = userRepository.findById(1L).get();
final User actual = userRepository.findById(expected.id()).get();

assertThat(actual).isEqualTo(expected);
}
Expand All @@ -59,7 +60,7 @@ void findByEmail_test() {
void findAll_test() {
final User user = userBuilder(new Email(EMAIL), new Name(USERNAME), new Password(PASSWORD), new Bio(BIO), new Image(IMAGE));
final User expected = testEntityManager.persist(user);
final List<User> users = (List<User>) userRepository.findAll();
final List<User> users = userRepository.findAll();

assertAll(
() -> assertThat(users.size()).isEqualTo(1),
Expand Down
5 changes: 5 additions & 0 deletions test.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,11 @@ jacocoTestCoverageVerification {
minimum = 0.5
}

excludes = [
// '*.test.*', Q클래스 제거
'Q*.class'
]

}
rule {
enabled = true;
Expand Down

0 comments on commit cad2f50

Please sign in to comment.