def test_fast_registration_second_request_after_error(self): response = self.client.post(reverse('accounts:registration:fast')) task = PostponedTaskPrototype(model=PostponedTask.objects.all()[0]) task.state = POSTPONED_TASK_STATE.ERROR task.save() response = self.client.post(reverse('accounts:registration:fast')) task_2 = PostponedTaskPrototype(model=PostponedTask.objects.all()[1]) self.check_ajax_processing(response, task_2.status_url) self.assertEqual(PostponedTask.objects.all().count(), 2) task_2.state = POSTPONED_TASK_STATE.ERROR task_2.save() response = self.client.post(reverse('accounts:registration:fast')) task_3 = PostponedTaskPrototype(model=PostponedTask.objects.all()[2]) self.check_ajax_processing(response, task_3.status_url) self.assertEqual(PostponedTask.objects.all().count(), 3) task_3.remove() response = self.client.post(reverse('accounts:registration:fast')) task_4 = PostponedTaskPrototype(model=PostponedTask.objects.all()[2]) self.check_ajax_processing(response, task_4.status_url) self.assertEqual(PostponedTask.objects.all().count(), 3)
def test_fast_registration_processing(self): response = self.client.post(reverse('accounts:registration:fast')) self.assertEqual(response.status_code, 200) task = PostponedTaskPrototype(model=PostponedTask.objects.all()[0]) self.check_ajax_processing(response, task.status_url) self.assertEqual(PostponedTask.objects.all().count(), 1) self.assertEqual(task.internal_logic.referer, None)
def test_fast_profile_confirm_email(self): self.client.post(reverse('accounts:registration:fast')) PostponedTaskPrototype(model=PostponedTask.objects.all()[0]).process( FakeLogger()) self.client.post( reverse('accounts:profile:update'), { 'email': '*****@*****.**', 'nick': 'test_nick', 'password': '******' }) self.assertEqual(Message.objects.all().count(), 1) uuid = ChangeCredentialsTask.objects.all()[0].uuid response = self.client.get( reverse('accounts:profile:confirm-email') + '?uuid=' + uuid) self.check_response_redirect( response, PostponedTaskPrototype._db_get_object(1).wait_url) self.assertEqual(ChangeCredentialsTask.objects.all().count(), 1) self.assertEqual(ChangeCredentialsTask.objects.all()[0].state, relations.CHANGE_CREDENTIALS_TASK_STATE.CHANGING) self.assertEqual( django_authenticate(nick='test_nick', password='******'), None)
def test_fast_registration_second_request(self): response = self.client.post(reverse('accounts:registration:fast')) task = PostponedTaskPrototype(model=PostponedTask.objects.all()[0]) response = self.client.post(reverse('accounts:registration:fast')) self.check_ajax_processing(response, task.status_url) self.assertEqual(PostponedTask.objects.all().count(), 1)
def test_fast_registration_processing__with_referer(self): referer = 'http://example.com/forum/post/1/' response = self.client.post(reverse('accounts:registration:fast'), HTTP_REFERER=referer) self.assertEqual(response.status_code, 200) task = PostponedTaskPrototype(model=PostponedTask.objects.all()[0]) self.check_ajax_processing(response, task.status_url) self.assertEqual(PostponedTask.objects.all().count(), 1) self.assertEqual(task.internal_logic.referer, referer)
def test_profile_update_fast_errors(self): response = self.client.post(reverse('accounts:registration:fast')) PostponedTaskPrototype(model=PostponedTask.objects.all()[0]).process( FakeLogger()) response = self.client.post(reverse('accounts:profile:update'), {'email': '*****@*****.**'}) self.check_ajax_error(response, 'accounts.profile.update.form_errors') response = self.client.post(reverse('accounts:profile:update'), {'password': '******'}) self.check_ajax_error(response, 'accounts.profile.update.form_errors') response = self.client.post(reverse('accounts:profile:update'), {'nick': 'test_nick'}) self.check_ajax_error(response, 'accounts.profile.update.form_errors') response = self.client.post(reverse('accounts:profile:update'), { 'email': '*****@*****.**', 'nick': 'test_nick' }) self.check_ajax_error(response, 'accounts.profile.update.empty_fields') response = self.client.post(reverse('accounts:profile:update'), { 'email': '*****@*****.**', 'password': '******' }) self.check_ajax_error(response, 'accounts.profile.update.form_errors') response = self.client.post(reverse('accounts:profile:update'), { 'password': '******', 'nick': 'test_nick' }) self.check_ajax_error(response, 'accounts.profile.update.form_errors') self.assertEqual(ChangeCredentialsTask.objects.all().count(), 0) self.assertEqual(Message.objects.all().count(), 0)