def test_username_errors(self): newdata = self.data.copy() min_error = ["Ensure this value has at least 4 characters (it has 3)."] symbol_error = [ 'Username not valid.\nOnly use alphabets, numbers and underscore.' ] already_use_error = ['Username "digi" is already in use.'] # Length errors newdata["username"] = "******" form = registration(newdata) self.assertFalse(form.is_valid()) self.assertTrue(form.errors["username"]) self.assertEqual(form.errors["username"], min_error) # Symbol error newdata["username"] = "******" form = registration(newdata) self.assertFalse(form.is_valid()) self.assertTrue(form.errors["username"]) self.assertEqual(form.errors["username"], symbol_error) newdata["username"] = "******" form = registration(newdata) self.assertFalse(form.is_valid()) self.assertTrue(form.errors["username"]) self.assertEqual(form.errors["username"], already_use_error)
def test_password_errors(self): newdata = self.data.copy() pass_error = ["Your passwords do not match."] newdata["confirm_password"] = "******" form = registration(newdata) self.assertFalse(form.is_valid()) self.assertTrue(form.errors["confirm_password"]) self.assertEqual(form.errors["confirm_password"], pass_error)
def test_required_fields(self): form = registration({}) self.assertFalse(form.is_valid()) self.assertTrue("username" in form.errors) self.assertTrue("email" in form.errors) self.assertTrue("university" in form.errors) self.assertTrue("school" in form.errors) self.assertTrue("bio" in form.errors) self.assertTrue("course" in form.errors) self.assertTrue("password" in form.errors) self.assertTrue("confirm_password" in form.errors)
def register(request): navtext = "Register!" if request.method == 'POST' and request.POST: reg_form = registration(request.POST) if reg_form.is_valid(): cd = reg_form.cleaned_data new_user = User.objects.create_user(username=cd["username"], email=cd["email"], password=cd["password"]) new_profile = student(bio=cd["bio"], ) new_profile.user = new_user new_profile.save() login(request, new_user) mail_html = render_email("welcome.html", { 'username': new_user.username, }) opts = { "recipents": new_user.email, "subject": "Welcome aboard 🎉", "body": mail_html } send_email(opts) return HttpResponseRedirect(reverse('home')) else: return render(request, 'register.html', { 'regform': reg_form, 'navtext': navtext }) elif request.user.is_authenticated: return HttpResponseRedirect(reverse('home')) else: reg_form = registration() return render(request, 'register.html', { 'regform': reg_form, 'navtext': navtext })
def test_init(self): form = registration(self.data) self.assertIsInstance(form, registration) self.assertTrue(form.is_valid())