Пример #1
0
    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)
Пример #2
0
    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)
Пример #3
0
    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)
Пример #4
0
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
        })
Пример #5
0
 def test_init(self):
     form = registration(self.data)
     self.assertIsInstance(form, registration)
     self.assertTrue(form.is_valid())