Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -*- coding: utf-8 -*-
- from __future__ import (
- absolute_import, division, print_function, unicode_literals)
- from django.contrib.auth.models import User
- from django.core.urlresolvers import reverse
- from django.test import TestCase
- from django_dynamic_fixture import get
- from readthedocs.projects.models import Project
- class TestProfile(TestCase):
- def setUp(self):
- self.user = get(
- User,
- username='one',
- )
- self.user.set_password('test')
- self.user.save()
- self.client.login(username='one', password='test')
- def test_user_deletion_only_removes_single_projects(self):
- another_user = get(
- User,
- username='two',
- )
- get(
- Project,
- name='oneuser',
- users=[self.user],
- )
- get(
- Project,
- name='multipleusers',
- users=[self.user, another_user],
- )
- response = self.client.post(
- reverse('delete_account'),
- follow=True,
- data={'username': self.user.username},
- )
- self.assertEqual(response.status_code, 200)
- # The account was deleted
- self.assertFalse(User.objects.filter(username='one').exists())
- # Only the ``oneuser`` project was deleted
- self.assertFalse(Project.objects.filter(name='oneuser').exists())
- self.assertTrue(Project.objects.filter(name='multipleusers').exists())
- # The another user still owns the ``multipleusers`` project
- self.assertTrue(
- another_user.projects.filter(name='multipleusers').exists()
- )
Add Comment
Please, Sign In to add comment