Guest User

Untitled

a guest
Aug 28th, 2018
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.62 KB | None | 0 0
  1. # -*- coding: utf-8 -*-
  2. from __future__ import (
  3. absolute_import, division, print_function, unicode_literals)
  4.  
  5. from django.contrib.auth.models import User
  6. from django.core.urlresolvers import reverse
  7. from django.test import TestCase
  8. from django_dynamic_fixture import get
  9.  
  10. from readthedocs.projects.models import Project
  11.  
  12.  
  13. class TestProfile(TestCase):
  14.  
  15. def setUp(self):
  16. self.user = get(
  17. User,
  18. username='one',
  19. )
  20. self.user.set_password('test')
  21. self.user.save()
  22. self.client.login(username='one', password='test')
  23.  
  24. def test_user_deletion_only_removes_single_projects(self):
  25. another_user = get(
  26. User,
  27. username='two',
  28. )
  29. get(
  30. Project,
  31. name='oneuser',
  32. users=[self.user],
  33. )
  34. get(
  35. Project,
  36. name='multipleusers',
  37. users=[self.user, another_user],
  38. )
  39. response = self.client.post(
  40. reverse('delete_account'),
  41. follow=True,
  42. data={'username': self.user.username},
  43. )
  44. self.assertEqual(response.status_code, 200)
  45.  
  46. # The account was deleted
  47. self.assertFalse(User.objects.filter(username='one').exists())
  48.  
  49. # Only the ``oneuser`` project was deleted
  50. self.assertFalse(Project.objects.filter(name='oneuser').exists())
  51. self.assertTrue(Project.objects.filter(name='multipleusers').exists())
  52.  
  53. # The another user still owns the ``multipleusers`` project
  54. self.assertTrue(
  55. another_user.projects.filter(name='multipleusers').exists()
  56. )
Add Comment
Please, Sign In to add comment