작성
·
239
0
def test_update_post(self):
update_post_url = f'/blog/update_post/{self.post_003.pk}/'
# 로그인 하지 않은 상태에서 접근 하는 경우
response = self.client.get(update_post_url)
self.assertNotEqual(response.status_code, 200)
# 로그인은 했지만, 작성자가 아닌 경우
self.assertNotEqual(self.post_003.author, self.user_trump)
self.client.login(username='trump', password='somepassword')
response = self.client.get(update_post_url)
self.assertNotEqual(response.status_code, 200) # user_obama가 아니므로 정상실행이 되지 않음
# 작성자(obama)가 접근하는 경우
self.assertEqual(self.post_003.author, self.user_obama)
self.client.login(username='obama', password='somepassword')
response = self.client.get(update_post_url)
self.assertEqual(response.status_code, 200) # user_obama 이므로 정상적으로 실행됨
soup = BeautifulSoup(response.content, 'html.parser')
self.assertEqual('Edit Post - Blog', soup.title.text)
main_area = soup.find('div', id='main-area')
self.assertIn('Edit Post', main_area.text)
tag_str_input = main_area.find('input', id='id_tags_str')
self.assertTrue(tag_str_input)
self.assertIn('파이썬 공부; python', tag_str_input.attrs['value'])
response = self.client.post(
update_post_url,
{
'title': '세 번째 포스트를 수정했습니다.',
'content': '안녕 세계? 우리는 하나!',
'category': self.category_music.pk,
'tags_str': '파이썬 공부; 한글 태그, some tag' # 위의 '파이썬 공부; python' 에서 'python'은 사라지고 '파이썬 공부' 만 남는지 확인
},
follow=True
)
soup = BeautifulSoup(response.content, 'html.parser')
main_area = soup.find('div', id='main-area')
self.assertIn('세 번째 포스트를 수정했습니다.', main_area.text)
self.assertIn('안녕 세계? 우리는 하나!', main_area.text)
self.assertIn(self.category_music.name, main_area.text)
self.assertIn('파이썬 공부', main_area.text)
self.assertIn('한글 태그', main_area.text)
self.assertIn('some tag', main_area.text)
self.assertNotIn('python', main_area.text)
답변 3
0
0
0
안녕하세요. 깃헙에서 받아서 보니, 빠진 부분이 있네요.
{% if post.tags.exists %} | |
<i class="fas fa-tags"></i> | |
{% for tag in post.tags.iterator %} | |
<a href="{{ tag.get_absolute_url }}"><span class="badge bg-light text-dark">{{ tag }}</span></a> | |
{% endfor %} | |
<br/> | |
<br/> | |
{% endif %} |
태그를 보여주는 이 부분이 post_detail.html에 빠져있습니다.
이 부분은 "포스트 목록 페이지에 tag 추가하기" 할 때 했는데, 이 부분을 놓치고 오신 것 같아요.
확인했습니다.. 감사합니다!