diff --git a/app/templates/user_uploaded_posts.html b/app/templates/user_uploaded_posts.html index 2ce0d680c1f27096cf707baba7ba229c16753025..c393a37fca5066696403e18b60b88b16269be4d8 100644 --- a/app/templates/user_uploaded_posts.html +++ b/app/templates/user_uploaded_posts.html @@ -41,6 +41,10 @@ <span style="font-size: 0.75rem; padding-left: 0.3rem;">{{ post.data.date_created }}</span> </div> </div> + <div class="posts-vertically-centered ml-auto pr-4"> + <span id="post-like-count-{{post.data.id}}">{{ post.data.like_count }}</span> + <span>Like</span> + </div> <div class="posts-vertically-centered"> <span>{{ post.comments|length }}</span> <span>Komentar</span> diff --git a/app/tests.py b/app/tests.py index 0ad4321961bcf57956c4d5c2d46249b915126db0..622500470552f8f41c9936d7cccd4279cdcb09a1 100644 --- a/app/tests.py +++ b/app/tests.py @@ -274,6 +274,7 @@ class PostsViewTest(TestCase): def generate_posts_data(cls, user): POST_COUNT = 3 COMMENTS_COUNT_PER_POST = [1, 0, 3] + LIKES_COUNT_PER_POST = [5, 4, 2] assert POST_COUNT == len(COMMENTS_COUNT_PER_POST) @@ -281,7 +282,7 @@ class PostsViewTest(TestCase): sample_category = Category.objects.create(name="Test Category") post_comment_group_dict = {} - for _ in range(POST_COUNT): + for i in range(POST_COUNT): post = Materi.objects.create( uploader=user, cover=sample_file, @@ -294,6 +295,13 @@ class PostsViewTest(TestCase): "comments": [], } + for j in range (LIKES_COUNT_PER_POST[i]): + Like.objects.create( + timestamp=datetime.now(), + materi=post, + session_id=("dummysession-" + str(i) + '-' + str(j)) + ) + for i, post_id in enumerate(post_comment_group_dict): post = post_comment_group_dict[post_id]["data"] @@ -372,6 +380,16 @@ class PostsViewTest(TestCase): rf'.*(<div id="post-{posts[0]}-comment-{comments[0][0]}">)' ) + def test_like_count_written_correctly_on_template(self): + response = self._request_as_user() + + for _, post_id in enumerate(self.data): + post = self.data[post_id]["data"] + + self.assertContains( + response, + '<span id="post-like-count-' + str(post.id) + '">' + str(post.like_count) + '</span>', + ) class TemplateLoaderTest(TestCase): def test_template_loader_url_exist(self):