diff --git a/src/test/java/com/io/realworld/domain/aggregate/article/controller/ArticleControllerTest.java b/src/test/java/com/io/realworld/domain/aggregate/article/controller/ArticleControllerTest.java index 06b31ef..d185a56 100644 --- a/src/test/java/com/io/realworld/domain/aggregate/article/controller/ArticleControllerTest.java +++ b/src/test/java/com/io/realworld/domain/aggregate/article/controller/ArticleControllerTest.java @@ -3,6 +3,8 @@ package com.io.realworld.domain.aggregate.article.controller; import com.fasterxml.jackson.databind.ObjectMapper; import com.io.realworld.config.WithAuthUser; import com.io.realworld.domain.aggregate.article.dto.*; +import com.io.realworld.domain.aggregate.article.entity.Article; +import com.io.realworld.domain.aggregate.article.repository.ArticleRepository; import com.io.realworld.domain.aggregate.article.service.ArticleService; import com.io.realworld.domain.aggregate.article.service.CommentService; import com.io.realworld.domain.aggregate.user.dto.UserAuth; @@ -56,9 +58,10 @@ class ArticleControllerTest { private String slug; + + @BeforeEach void setup(){ - String title = "create title"; slug = title.toLowerCase().replace(' ','-'); articleResponse = ArticleResponse.builder() diff --git a/src/test/java/com/io/realworld/domain/aggregate/profile/repository/ProfileRepositoryTest.java b/src/test/java/com/io/realworld/domain/aggregate/profile/repository/ProfileRepositoryTest.java index b6e87e7..d29f204 100644 --- a/src/test/java/com/io/realworld/domain/aggregate/profile/repository/ProfileRepositoryTest.java +++ b/src/test/java/com/io/realworld/domain/aggregate/profile/repository/ProfileRepositoryTest.java @@ -86,7 +86,6 @@ class ProfileRepositoryTest { @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() .bio("follower bio") .email("follower2@email.com") @@ -98,14 +97,15 @@ class ProfileRepositoryTest { userRepository.save(follower); userRepository.save(follower2); - System.out.println(followee.getId() + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); + UserAuth userAuth = UserAuth.builder().id(followee.getId()).username("username").bio("bio").email("email").build(); + 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 follows = profileRepository.findByFolloweeId(followee.getId()); + List follows = profileRepository.findByFolloweeId(userAuth.getId()); assertThat(follows.get(0).getFollowee().getUsername()).isEqualTo(followee.getUsername()); assertThat(follows.get(0).getFollower().getUsername()).isEqualTo(follower.getUsername()); diff --git a/src/test/java/com/io/realworld/domain/aggregate/user/repository/UserRepositoryTest.java b/src/test/java/com/io/realworld/domain/aggregate/user/repository/UserRepositoryTest.java index 2eae86f..7b362cc 100644 --- a/src/test/java/com/io/realworld/domain/aggregate/user/repository/UserRepositoryTest.java +++ b/src/test/java/com/io/realworld/domain/aggregate/user/repository/UserRepositoryTest.java @@ -1,5 +1,7 @@ package com.io.realworld.domain.aggregate.user.repository; +import com.io.realworld.domain.aggregate.article.entity.Article; +import com.io.realworld.domain.aggregate.article.repository.ArticleRepository; import com.io.realworld.domain.aggregate.user.entity.User; import com.io.realworld.domain.aggregate.user.repository.UserRepository; import org.hibernate.annotations.Filter; diff --git a/src/vite-frontend/src/views/TheArticleDetail.vue b/src/vite-frontend/src/views/TheArticleDetail.vue index 58c1896..2e77f31 100644 --- a/src/vite-frontend/src/views/TheArticleDetail.vue +++ b/src/vite-frontend/src/views/TheArticleDetail.vue @@ -11,7 +11,7 @@ {{ articleDetail.article.author.username }} {{convertDate(articleDetail.article.createdAt)}} -    - @@ -50,7 +55,7 @@ {{convertDate(articleDetail.article.createdAt)}} -   - @@ -169,7 +179,7 @@ export default defineComponent({ params: {username: articleDetail.article.author.username}}) } - const stateUpdate = (followState : boolean) => { + const followUpdate = (followState : boolean) => { if(token == ''){ router.push({name:"Login"}); } @@ -192,7 +202,34 @@ export default defineComponent({ articleDetail.article.author.following = response.data.profile.following; }) } + } + const favoriteUpdate = () => { + if(token == ''){ + router.push({name:"Login"}); + } + const favoriteState: boolean = articleDetail.article.favorited; + if(favoriteState){ + axios.delete(url + "/api/articles/" + articleDetail.article.slug + "/favorite",{ + headers:{ + Authorization : "TOKEN " + token, + "Content-Type": `application/json`, + } + }).then(response => { + articleDetail.article.favorited = response.data.article.favorited; + articleDetail.article.favoritesCount = response.data.article.favoritesCount; + }) + }else{ + axios.post(url + "/api/articles/" + articleDetail.article.slug + "/favorite",{},{ + headers:{ + Authorization : "TOKEN " + token, + "Content-Type": `application/json`, + } + }).then(response => { + articleDetail.article.favorited = response.data.article.favorited; + articleDetail.article.favoritesCount = response.data.article.favoritesCount; + }) + } } @@ -203,7 +240,7 @@ export default defineComponent({ }) }) - return { articleDetail, convertDate, viewProfile, stateUpdate, } + return { articleDetail, convertDate, viewProfile, followUpdate, favoriteUpdate } } })