fix : feed API, TODO FIX Testcode.
This commit is contained in:
@@ -13,4 +13,6 @@ public interface ProfileRepository extends JpaRepository<Follow, Long> {
|
|||||||
|
|
||||||
List<Follow> findByFollowerId(Long followeeId);
|
List<Follow> findByFollowerId(Long followeeId);
|
||||||
|
|
||||||
|
List<Follow> findByFolloweeId(Long followerId);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.io.realworld.domain.aggregate.profile.repository;
|
package com.io.realworld.domain.aggregate.profile.repository;
|
||||||
|
|
||||||
import com.io.realworld.domain.aggregate.profile.entity.Follow;
|
import com.io.realworld.domain.aggregate.profile.entity.Follow;
|
||||||
|
import com.io.realworld.domain.aggregate.user.dto.UserAuth;
|
||||||
import com.io.realworld.domain.aggregate.user.entity.User;
|
import com.io.realworld.domain.aggregate.user.entity.User;
|
||||||
import com.io.realworld.domain.aggregate.user.repository.UserRepository;
|
import com.io.realworld.domain.aggregate.user.repository.UserRepository;
|
||||||
import org.junit.jupiter.params.ParameterizedTest;
|
import org.junit.jupiter.params.ParameterizedTest;
|
||||||
@@ -8,6 +9,8 @@ import org.junit.jupiter.params.provider.Arguments;
|
|||||||
import org.junit.jupiter.params.provider.MethodSource;
|
import org.junit.jupiter.params.provider.MethodSource;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
|
import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.stream.Stream;
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
@@ -67,7 +70,7 @@ class ProfileRepositoryTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@MethodSource("getFolloweeAndFollower")
|
@MethodSource("getFolloweeAndFollower")
|
||||||
@ParameterizedTest(name = "repo:팔로잉 제거 테스거")
|
@ParameterizedTest(name = "repo:팔로잉 제거 테스터")
|
||||||
void deleteFollow(User followee, User follower){
|
void deleteFollow(User followee, User follower){
|
||||||
//given
|
//given
|
||||||
userRepository.save(followee);
|
userRepository.save(followee);
|
||||||
@@ -80,12 +83,44 @@ class ProfileRepositoryTest {
|
|||||||
//then
|
//then
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@MethodSource("getFolloweeAndFollower")
|
||||||
|
@ParameterizedTest(name = "repo:피드 테스트")
|
||||||
|
void feedArticle(User followee, User follower){
|
||||||
|
UserAuth userAuth = UserAuth.builder().id(1L).username("username").bio("bio").email("email").build();
|
||||||
|
User follower2 = User.builder()
|
||||||
|
.id(3L)
|
||||||
|
.bio("follower bio")
|
||||||
|
.email("follower2@email.com")
|
||||||
|
.password("password")
|
||||||
|
.image("follower image")
|
||||||
|
.username("follower2")
|
||||||
|
.build();
|
||||||
|
userRepository.save(followee);
|
||||||
|
userRepository.save(follower);
|
||||||
|
userRepository.save(follower2);
|
||||||
|
|
||||||
|
Follow follow = Follow.builder().followee(followee).follower(follower).build();
|
||||||
|
Follow follow2 = Follow.builder().followee(followee).follower(follower2).build();
|
||||||
|
|
||||||
|
profileRepository.save(follow);
|
||||||
|
profileRepository.save(follow2);
|
||||||
|
|
||||||
|
List<Follow> follows = profileRepository.findByFolloweeId(userAuth.getId());
|
||||||
|
|
||||||
|
assertThat(follows.get(0).getFollowee().getUsername()).isEqualTo(followee.getUsername());
|
||||||
|
assertThat(follows.get(0).getFollower().getUsername()).isEqualTo(follower.getUsername());
|
||||||
|
|
||||||
|
assertThat(follows.get(1).getFollowee().getUsername()).isEqualTo(followee.getUsername());
|
||||||
|
assertThat(follows.get(1).getFollower().getUsername()).isEqualTo(follower2.getUsername());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private static Stream<Arguments> getFolloweeAndFollower(){
|
private static Stream<Arguments> getFolloweeAndFollower(){
|
||||||
return Stream.of(
|
return Stream.of(
|
||||||
Arguments.of(
|
Arguments.of(
|
||||||
User.builder()
|
User.builder()
|
||||||
|
.id(1L)
|
||||||
.bio("follow bio")
|
.bio("follow bio")
|
||||||
.email("follow@email.com")
|
.email("follow@email.com")
|
||||||
.password("password")
|
.password("password")
|
||||||
@@ -93,6 +128,7 @@ class ProfileRepositoryTest {
|
|||||||
.username("follow")
|
.username("follow")
|
||||||
.build(),
|
.build(),
|
||||||
User.builder()
|
User.builder()
|
||||||
|
.id(2L)
|
||||||
.bio("follower bio")
|
.bio("follower bio")
|
||||||
.email("follower@email.com")
|
.email("follower@email.com")
|
||||||
.password("password")
|
.password("password")
|
||||||
|
|||||||
@@ -66,7 +66,7 @@
|
|||||||
import articleList from '@/components/ArticleListFeed.vue'
|
import articleList from '@/components/ArticleListFeed.vue'
|
||||||
import articleListGlobal from "@/components/ArticleListGlobal.vue";
|
import articleListGlobal from "@/components/ArticleListGlobal.vue";
|
||||||
import tagLists from "@/components/TagList.vue";
|
import tagLists from "@/components/TagList.vue";
|
||||||
import {ref, getCurrentInstance, onMounted} from "vue";
|
import {ref} from "vue";
|
||||||
import {useStore} from "vuex";
|
import {useStore} from "vuex";
|
||||||
export default {
|
export default {
|
||||||
name: "TheHome",
|
name: "TheHome",
|
||||||
|
|||||||
Reference in New Issue
Block a user