def test_post_delete_view__get__success(self, _, __):
thread_data = THREADS_LIST_RESPONSE['response'][0]
post_data = POSTS_LIST_RESPONSE['response'][0]
thread_object = thread_factory(thread_data)
post_object = post_factory(post_data)
post_object.thread = thread_object
delete_url = reverse('{admin_site_name}:{app_label}_{model_name}_delete'.format(
admin_site_name=admin.site.name,
app_label=Post._meta.app_label,
model_name=Post._meta.model_name
), args=[post_data['id']])
request = RequestFactory().get(delete_url, follow=True)
request.user = MockSuperUser()
response = PostAdmin(Post, admin.site).delete_view(request, post_data['id'])
template_names = set([
'admin/delete_confirmation.html',
'admin/disqus_backstore/delete_confirmation.html',
'admin/disqus_backstore/post/delete_confirmation.html',
])
self.assertEqual(response.status_code, 200)
self.assertEqual(set(response.template_name), template_names)
# dirty hack for formatting deleted_object context... Use the same formatting
# in django.contrib.admin.utils.get_deleted_objects
deleted_objects = [format_html('{}: <a href="{}">{}</a>',
capfirst(obj.__class__._meta.verbose_name),
reverse('%s:%s_%s_change' % (
admin.site.name,
obj._meta.app_label,
obj._meta.model_name
), None, (quote(obj._get_pk_val()),)),
obj) for obj in [post_object]]
self.assertEqual(response.context_data['deleted_objects'],
deleted_objects)
评论列表
文章目录