class ActivateTests(TestCase): def setUp(self): self.factory = RequestFactory() self.req = self.factory.get('/accouts/register') SessionMiddleware().process_request(self.req) self.b = EmailOnlySignupBackend() self.u = self.b.register(self.req, email='*****@*****.**') self.activation_key = user_to_activation_key(self.u) def test_activate(self): self.assertFalse(self.u.has_usable_password()) u = self.b.activate(self.req, self.activation_key, 'username', 'pass') u = User.objects.get(username='******') self.assertTrue(u.has_usable_password())
class RegisterTests(TestCase): def setUp(self): self.factory = RequestFactory() self.req = self.factory.get('/accouts/register') SessionMiddleware().process_request(self.req) self.b = EmailOnlySignupBackend() def test_register_no_email(self): with self.assertRaises(ValueError): self.b.register(self.req) def test_colliding_username_hashes(self): pass # mock out hash function def silly_username_creation(request, user): user.username = '******' return user #with self.setings(REGISTRATION_EMAIL_ONLY_USERNAME_CREATOR= def test_unusable_password(self): u = self.b.register(self.req, email='*****@*****.**') self.assertFalse(u.has_usable_password()) def test_signal_sent(self): signal_user = set() def user_registered_signal_handler(sender, request, user, **kwargs): signal_user.add(user) registration.signals.user_registered.connect( user_registered_signal_handler) u = self.b.register(self.req, email='*****@*****.**') self.assertIn(u, signal_user) def test_logged_in(self): signal_user = set() def login_signal_handler(sender, request, user, **kwargs): signal_user.add(user) user_logged_in.connect(login_signal_handler) u = self.b.register(self.req, email='*****@*****.**') self.assertIn(u, signal_user) def test_email_sent(self): self.b.register(self.req, email='*****@*****.**') self.assertEqual(len(mail.outbox), 1)