Exemplo n.º 1
0
    def test_sign_up_form_valid_signIn(self):
        '''
            tests Sign Up form with valid data
        '''

        form = SignUpForm({
            'username': self.my_user.username,
            'email': self.my_user.email,
            'password1': self.my_user.password,
            'password2': self.my_user.password
        })
        self.assertTrue(form.is_valid())
        self.assertEqual(form.data['username'], self.my_user.username)
        self.assertEqual(form.data['email'], self.my_user.email)
        self.assertEqual(form.data['password1'], self.my_user.password)
        self.assertEqual(form.data['password2'], self.my_user.password)

        ## we now test to see if we can
        ## retrive newly created user from db

        form.save()
        query_users = User.objects.filter(username=self.my_user.username)
        self.assertEqual(len(query_users), 1)
        self.assertEqual(self.my_user.username, query_users[0].username)
        self.assertEqual(self.my_user.email, query_users[0].email)
Exemplo n.º 2
0
    def test_sign_up_form_password_mismatch(self):
        '''
            tests invalid Signup were password1 field data
            does not match password2 field data
        '''

        form = SignUpForm({
            'username': self.my_user.username,
            'email': self.my_user.email,
            'password1': self.my_user.password,
            'password2': self.my_user.password + "1"
        })
        self.assertFalse(form.is_valid())
        self.assertIn(UserFormTestData.errors['password_mismatch']['en'],
                      form.errors['password2'])
Exemplo n.º 3
0
    def test_sign_up_form_invalid_signIn(self):
        '''
            tests invalid Sign Up form with
            empty fields
        '''

        form = SignUpForm({
            'username': "",
            'email': "",
            'password1': "",
            'password2': ""
        })
        self.assertFalse(form.is_valid())
        self.assertIn(UserFormTestData.errors['null_field']['en'],
                      form.errors['username'])
        self.assertIn(UserFormTestData.errors['null_field']['en'],
                      form.errors['email'])
        self.assertIn(UserFormTestData.errors['null_field']['en'],
                      form.errors['password1'])
        self.assertIn(UserFormTestData.errors['null_field']['en'],
                      form.errors['password2'])
Exemplo n.º 4
0
def login (request):
    """
        This view handles the login and signup related stuff
        
    """ 
    loginpage = True
    
    # Create the basic forms which will be rendered in get requests
    loginform = LoginForm()
    signupform = SignUpForm()
    
    if request.user.is_authenticated(): # If user logged in : Redirect to home
        return HttpResponseRedirect(reverse('home'))
    
    # If the form has been submitted, get the form data and handle the appropriate way
    if request.method == 'POST':
        postdata = request.POST.copy()
        if 'signup' in postdata: # SIGNUP FORM
            signupform = SignUpForm(postdata)
            if signupform.is_valid():
                # If the form is valid, save the user using the inbuilt function
                try:
                    signupform.save()   
                    messages.success(request,'<strong>Hi!</strong> Your account has been made, but is not yet activated. We will review and activate your account soon !',extra_tags='alert-success')
                    return HttpResponseRedirect(reverse('home'))
                except IntegrityError: # The username (email) already exists
                    messages.error(request,'<strong>Oops!</strong> That email id has already been signed up. Try logging in !',extra_tags='alert-danger')
            else:
                print signupform.errors
        elif 'login' in postdata: # LOGIN FORM
            loginform = LoginForm(postdata)
            if loginform.is_valid():
                try:
                    user = User.objects.get(username=loginform.cleaned_data.get('username'))
                    print user
                    user = auth.authenticate(username=user.username, password=loginform.cleaned_data.get('password'))
                    
                    if user is not None and user.is_active:
                        auth.login(request, user) # Successful login
                        if 'next' in request.POST:
                            return HttpResponseRedirect(request.POST['next'])
                        else:
                            return HttpResponseRedirect(reverse('profile'))
                except User.DoesNotExist:
                    messages.error(request,'<strong>Oops!</strong> You don\'t seem to be registered. Please Sign Up first!',extra_tags='alert-error')
            else:
                print signupform.errors
        
    return render_to_response('pages/login.html', locals(), context_instance= global_context(request))
Exemplo n.º 5
0
 def test_init(self):
     '''
         test instance creation
         REDO!!
     '''
     form = SignUpForm(instance=self.my_user)
Exemplo n.º 6
0
def signup_context(request):
    return {'signup_form': SignUpForm()}