Пример #1
0
 def test_invalid_password(self):
     test_data = {'username': '******',
                  'password': '******'}
     form = UserForm(data=test_data)
     self.assertEqual(form.errors['password'], [
         "Ensure this value has at least 4 characters (it has 1)."])
     self.assertFalse(form.is_valid())
Пример #2
0
 def test_too_short_username(self):
     test_data = {'username': '******',
                  'password': '******'}
     form = UserForm(data=test_data)
     self.assertEqual(form.errors['username'], [
         "Ensure this value has at least 3 characters (it has 1)."])
     self.assertFalse(form.is_valid())
Пример #3
0
 def test_invalid_password(self):
     test_data = {'username': '******', 'password': '******'}
     form = UserForm(data=test_data)
     self.assertEqual(
         form.errors['password'],
         [u"Ensure this value has at least 4 characters (it has 1)."])
     self.assertFalse(form.is_valid())
Пример #4
0
    def test_existing_username(self):
        test_data = {'username': '******', 'password': '******'}

        form = UserForm(data=test_data)
        self.assertEqual(form.errors['username'],
                         [u"A user with that username already exists."])
        self.assertFalse(form.is_valid())
Пример #5
0
 def test_too_short_username(self):
     test_data = {'username': '******', 'password': '******'}
     form = UserForm(data=test_data)
     self.assertEqual(
         form.errors['username'],
         [u"Ensure this value has at least 3 characters (it has 1)."])
     self.assertFalse(form.is_valid())
Пример #6
0
def register(request):
    """
    Handles user registration using UserForm from forms.py
    Creates new User and new RedditUser models if appropriate data
    has been supplied.

    If account has been created user is redirected to login page.
    """
    user_form = UserForm()
    if request.user.is_authenticated():
        messages.warning(request,
                        'You are already registered and logged in.')
        return render(request, 'public/register.html', {'form': user_form})

    if request.method == "POST":
        user_form = UserForm(request.POST)

        if user_form.is_valid():
            user = user_form.save()
            user.set_password(user.password)
            user.save()
            reddit_user = RedditUser()
            reddit_user.user = user
            reddit_user.save()
            user = authenticate(username=request.POST['username'],
                                password=request.POST['password'])
            login(request, user)
            return redirect('frontpage')

    return render(request, 'public/register.html', {'form': user_form})
Пример #7
0
    def test_existing_username(self):
        test_data = {'username': '******',
                     'password': '******'}

        form = UserForm(data=test_data)
        self.assertEqual(form.errors['username'],
                         ["A user with that username already exists."])
        self.assertFalse(form.is_valid())
Пример #8
0
    def test_too_long_username(self):
        test_data = {'username': '******',
                     'password': '******'}

        form = UserForm(data=test_data)
        self.assertEqual(form.errors['username'], [
            "Ensure this value has at most 12 characters (it has 13)."])
        self.assertFalse(form.is_valid())
Пример #9
0
    def test_too_long_username(self):
        test_data = {'username': '******', 'password': '******'}

        form = UserForm(data=test_data)
        self.assertEqual(
            form.errors['username'],
            [u"Ensure this value has at most 12 characters (it has 13)."])
        self.assertFalse(form.is_valid())
Пример #10
0
 def test_invalid_username(self):
     test_data = {'username': '******', 'password': '******'}
     form = UserForm(data=test_data)
     self.assertEqual(form.errors['username'], [
         u"This value may contain only letters, "
         u"numbers and _ characters."
     ])
Пример #11
0
def register(request):
    """
    Handles user registration using UserForm from forms.py
    Creates new User and new RedditUser models if appropriate data
    has been supplied.

    If account has been created user is redirected to login page.
    """
    user_form = UserForm()
    if request.user.is_authenticated():
        messages.warning(request,
                        'You are already registered and logged in.')
        return render(request, 'public/register.html', {'form': user_form})

    if request.method == "POST":
        user_form = UserForm(request.POST)

        if user_form.is_valid():

            # check if registration code is valid
            cohorts = map(lambda x: x.registration_code, list(Cohort.objects.all()))
            if user_form.cleaned_data['cohort_registration_code'] not in cohorts:
                user_form = UserForm()
                messages.warning(request, 'Invalid registration code. Try again!')
                return render(request, 'public/register.html', {'form': user_form})

            user = user_form.save()
            user.set_password(user.password)
            user.save()
            reddit_user = RedditUser()
            reddit_user.user = user
            reddit_user.save()

            # add user to cohort that corresponds to regitrations code
            cohort = Cohort.objects.get(
                registration_code=user_form.cleaned_data['cohort_registration_code']
            )
            reddit_user.cohorts.add(cohort)
            reddit_user.email = user.email
            reddit_user.save()

            user = authenticate(username=request.POST['username'],
                                password=request.POST['password'])
            login(request, user)
            return redirect('Frontpage')

    return render(request, 'public/register.html', {'form': user_form})
Пример #12
0
def register(request):
    """
    Handles user registration using UserForm from forms.py
    Creates new User and new RedditUser models if appropriate data
    has been supplied.

    If account has been created user is redirected to login page.
    """
    user_form = UserForm()
    if request.user.is_authenticated():
        messages.warning(request, 'You are already registered and logged in.')
        return render(request, 'public/register.html', {'form': user_form})

    if request.method == "POST":
        user_form = UserForm(request.POST)

        if user_form.is_valid():
            user = user_form.save()
            user.set_password(user.password)
            user.save()
            reddit_user = RedditUser()
            reddit_user.user = user
            reddit_user.save()
            user = authenticate(username=request.POST['username'],
                                password=request.POST['password'])
            login(request, user)
            return redirect('frontpage')

    return render(request, 'public/register.html', {'form': user_form})
Пример #13
0
 def test_valid_form(self):
     test_data = {'username': '******',
                  'password': '******'}
     form = UserForm(data=test_data)
     self.assertTrue(form.is_valid())
Пример #14
0
 def test_missing_password(self):
     test_data = {'username': '******'}
     form = UserForm(data=test_data)
     self.assertEqual(form.errors['password'], [u"This field is required."])
Пример #15
0
 def test_valid_form(self):
     test_data = {'username': '******', 'password': '******'}
     form = UserForm(data=test_data)
     self.assertTrue(form.is_valid())