class QuestionMethodTests(TestCase):
    def setUp(self):
        first_name = "Joe"
        second_name = "Man"
        email = "*****@*****.**"
        password = "******"

        self.user = User(first_name=first_name, second_name=second_name, email=email, password=password)
        self.user.save()
        Picture(user=self.user, photo="First_photo.png").save()
        Picture(user=self.user, photo="Second_photo.png").save()

        Settings(user=self.user, profile_pic="Profile_photo.png").save()

        self.client = Client()
        self.client.post("/login", data={"email": self.user.email, "password": self.user.password})

    def test_logout_leads_to_login_page(self):
        # setup
        response = self.client.get("/logout")

        # Test
        self.assertEqual(response.status_code, 302)
        self.assertRegexpMatches(response.url, "login")

    def test_logout_link_is_available_at_home(self):
        # setup
        response = self.client.get("/home")

        # Test
        self.assertEqual(response.status_code, 200)
        self.assertContains(response, '<a href="/logout" class="">Logout</a>')
Пример #2
0
class QuestionMethodTests(TestCase):
    def setUp(self):
        first_name = "Joe"
        second_name = "Man"
        email = "*****@*****.**"
        password = "******"

        self.user = User(first_name=first_name,
                         second_name=second_name,
                         email=email,
                         password=password)
        self.user.save()
        Picture(user=self.user, photo='First_photo.png').save()
        Picture(user=self.user, photo='Second_photo.png').save()

        Settings(user=self.user, profile_pic='Profile_photo.png').save()

        self.client = Client()
        self.client.post('/login',
                         data={
                             'email': self.user.email,
                             'password': self.user.password
                         })

    def test_settings_page(self):
        #setup
        response = self.client.get('/settings')

        #Test
        self.assertEqual(response.status_code, 200)
        self.assertContains(response,
                            self.user.settings.all()[0].profile_pic.name)
class QuestionMethodTests(TestCase):

    def setUp(self):
        first_name = "Joe"
        second_name = "Man"
        email = "*****@*****.**"
        password = "******"

        self.user = User(first_name=first_name, second_name=second_name, email=email, password=password)
        self.user.save()
        Picture(user=self.user, photo='First_photo.png').save()
        Picture(user=self.user, photo='Second_photo.png').save()

        Settings(user=self.user, profile_pic='Profile_photo.png').save()

        self.client = Client()
        self.client.post('/login',data={
            'email': self.user.email,
            'password': self.user.password})


    def test_settings_page(self):
        #setup
        response = self.client.get('/settings')

        #Test
        self.assertEqual(response.status_code, 200)
        self.assertContains(response, self.user.settings.all()[0].profile_pic.name)
Пример #4
0
    def setUp(self):
        first_name = "Joe"
        second_name = "Man"
        email = "*****@*****.**"
        password = "******"

        self.user = User(first_name=first_name,
                         second_name=second_name,
                         email=email,
                         password=password)

        self.client = Client()
Пример #5
0
class QuestionMethodTests(TestCase):
    def setUp(self):
        first_name = "Joe"
        second_name = "Man"
        email = "*****@*****.**"
        password = "******"

        self.user = User(first_name=first_name,
                         second_name=second_name,
                         email=email,
                         password=password)
        self.user.save()
        Picture(user=self.user, photo='First_photo.png').save()
        Picture(user=self.user, photo='Second_photo.png').save()

        self.client = Client()
        self.client.post('/login',
                         data={
                             'email': self.user.email,
                             'password': self.user.password
                         })

    def test_home_page(self):
        #setup
        response = self.client.get('/home')

        #Test
        self.assertEqual(response.status_code, 200)
        self.assertContains(response, 'Logout')
        self.assertContains(response, 'Setting')

    def test_home_page_without_login_redirects_to_login(self):
        #setup
        self.client.get('/logout')
        response = self.client.get('/home')

        #Test
        self.assertEqual(response.status_code, 302)
        self.assertRegexpMatches(response.url, 'login')

    def test_home_page_sends_pictures(self):
        #setup
        response = self.client.get('/home')

        #Test
        self.assertEqual(response.status_code, 200)
        self.assertContains(response, self.user.pictures.all()[0].photo.name)
        self.assertContains(response, self.user.pictures.all()[1].photo.name)
Пример #6
0
def login(request):
    remove_session(request)
    login_form = LoginForm(request.POST or None)
    if request.method == 'POST':
        if login_form.is_valid():
            user = User.return_valid_user(
                email_address=request.POST['email'],
                raw_password=request.POST['password'])
            if user != None:
                request.session[SESSION_KEY] = user.id
                return redirect('home')

            errors = login_form._errors.setdefault("email", ErrorList())
            errors.append("Login Error!")
        return render(request, 'login.html', {
            'login_form': login_form,
            'registration_form': RegisterForm()
        })
    else:
        registration_form = RegisterForm()

    return render(
        request, 'login.html', {
            'login_form': login_form,
            'registration_form': registration_form,
            'user': None
        })
    def setUp(self):
        first_name = "Joe"
        second_name = "Man"
        email = "*****@*****.**"
        password = "******"

        self.user = User(first_name=first_name, second_name=second_name, email=email, password=password)

        self.client = Client()
Пример #8
0
    def create_test_user(self):
        first_name = "Joe"
        second_name = "Man"
        email = "*****@*****.**"
        password = "******"

        return User(first_name=first_name,
                    second_name=second_name,
                    email=email,
                    password=password)
Пример #9
0
    def setUp(self):
        first_name = "Joe"
        second_name = "Man"
        email = "*****@*****.**"
        password = "******"

        self.user = User(first_name=first_name,
                         second_name=second_name,
                         email=email,
                         password=password)
        self.user.save()
        Picture(user=self.user, photo='First_photo.png').save()
        Picture(user=self.user, photo='Second_photo.png').save()

        self.client = Client()
        self.client.post('/login',
                         data={
                             'email': self.user.email,
                             'password': self.user.password
                         })
class QuestionMethodTests(TestCase):
    def setUp(self):
        first_name = "Joe"
        second_name = "Man"
        email = "*****@*****.**"
        password = "******"

        self.user = User(first_name=first_name, second_name=second_name, email=email, password=password)
        self.user.save()
        Picture(user=self.user, photo="First_photo.png").save()
        Picture(user=self.user, photo="Second_photo.png").save()

        self.client = Client()
        self.client.post("/login", data={"email": self.user.email, "password": self.user.password})

    def test_home_page(self):
        # setup
        response = self.client.get("/home")

        # Test
        self.assertEqual(response.status_code, 200)
        self.assertContains(response, "Logout")
        self.assertContains(response, "Setting")

    def test_home_page_without_login_redirects_to_login(self):
        # setup
        self.client.get("/logout")
        response = self.client.get("/home")

        # Test
        self.assertEqual(response.status_code, 302)
        self.assertRegexpMatches(response.url, "login")

    def test_home_page_sends_pictures(self):
        # setup
        response = self.client.get("/home")

        # Test
        self.assertEqual(response.status_code, 200)
        self.assertContains(response, self.user.pictures.all()[0].photo.name)
        self.assertContains(response, self.user.pictures.all()[1].photo.name)
Пример #11
0
class QuestionMethodTests(TestCase):
    def setUp(self):
        first_name = "Joe"
        second_name = "Man"
        email = "*****@*****.**"
        password = "******"

        self.user = User(first_name=first_name,
                         second_name=second_name,
                         email=email,
                         password=password)
        self.user.save()
        Picture(user=self.user, photo='First_photo.png').save()
        Picture(user=self.user, photo='Second_photo.png').save()

        Settings(user=self.user, profile_pic='Profile_photo.png').save()

        self.client = Client()
        self.client.post('/login',
                         data={
                             'email': self.user.email,
                             'password': self.user.password
                         })

    def test_logout_leads_to_login_page(self):
        #setup
        response = self.client.get('/logout')

        #Test
        self.assertEqual(response.status_code, 302)
        self.assertRegexpMatches(response.url, 'login')

    def test_logout_link_is_available_at_home(self):
        #setup
        response = self.client.get('/home')

        #Test
        self.assertEqual(response.status_code, 200)
        self.assertContains(response, '<a href="/logout" class="">Logout</a>')
    def setUp(self):
        first_name = "Joe"
        second_name = "Man"
        email = "*****@*****.**"
        password = "******"

        self.user = User(first_name=first_name, second_name=second_name, email=email, password=password)
        self.user.save()
        Picture(user=self.user, photo="First_photo.png").save()
        Picture(user=self.user, photo="Second_photo.png").save()

        self.client = Client()
        self.client.post("/login", data={"email": self.user.email, "password": self.user.password})
Пример #13
0
def login(request):
    remove_session(request)
    login_form = LoginForm(request.POST or None)
    if request.method == 'POST':
        if login_form.is_valid():
            user = User.return_valid_user(email_address=request.POST['email'], raw_password=request.POST['password'])
            if user != None:
                request.session[SESSION_KEY] = user.id
                return redirect('home')

            errors = login_form._errors.setdefault("email", ErrorList())
            errors.append("Login Error!")
        return render(request, 'login.html', {'login_form': login_form, 'registration_form' : RegisterForm()})
    else:
        registration_form = RegisterForm()

    return render(request, 'login.html', {'login_form': login_form, 'registration_form' : registration_form, 'user' : None})
Пример #14
0
    def test_registration_page(self):
        #setup
        response = self.client.post('/register',
                                    data={
                                        'first_name': self.user.first_name,
                                        'second_name': self.user.second_name,
                                        'email': self.user.email,
                                        'password': self.user.password
                                    })

        test_user = User.return_valid_user(self.user.email, self.user.password)

        #Test
        self.assertEqual(response.status_code, 200)
        self.assertContains(response, 'Registration success')
        self.assertTrue(
            test_helper.obj_compare(self.user, test_user, ['id', '_state']))
    def setUp(self):
        first_name = "Joe"
        second_name = "Man"
        email = "*****@*****.**"
        password = "******"

        self.user = User(first_name=first_name, second_name=second_name, email=email, password=password)
        self.user.save()
        Picture(user=self.user, photo='First_photo.png').save()
        Picture(user=self.user, photo='Second_photo.png').save()

        Settings(user=self.user, profile_pic='Profile_photo.png').save()

        self.client = Client()
        self.client.post('/login',data={
            'email': self.user.email,
            'password': self.user.password})
class QuestionMethodTests(TestCase):

    def setUp(self):
        first_name = "Joe"
        second_name = "Man"
        email = "*****@*****.**"
        password = "******"

        self.user = User(first_name=first_name, second_name=second_name, email=email, password=password)

        self.client = Client()

    def test_login_page_loading(self):
        #setup
        response = self.client.get('/login')

        #Test
        self.assertEqual(response.status_code, 200)
        self.assertContains(response, "Login now")
        self.assertContains(response, "Register now")

    def test_login_page_loads_home_with_right_credentials(self):
        #setup
        self.user.save()
        response = self.client.post('/login',data={
            'email': self.user.email,
            'password': self.user.password})

        #Test
        self.assertEqual(response.status_code, 302)
        self.assertRegexpMatches(response.url, 'home')

    def test_login_page_stays_in_login_with_wrong_password(self):
        #setup
        self.user.save()
        response = self.client.post('/login',data={
            'email': self.user.email,
            'password': self.user.password + 'wrong'})

        #Test
        self.assertEqual(response.status_code, 200)
        self.assertContains(response, 'Login Error!')

    def test_login_page_stays_in_login_with_wrong_email(self):
        #setup
        self.user.save()
        response = self.client.post('/login',data={
            'email': self.user.email + 'wrong',
            'password': self.user.password})

        #Test
        self.assertEqual(response.status_code, 200)
        self.assertContains(response, 'Login Error!')

    def test_login_page_form_validation(self):
        #setup
        response = self.client.post('/login',data={
            'email': '123',
            'password': ''});

        #Test
        self.assertEqual(response.status_code, 200)
        self.assertContains(response, 'This field is required',count=1)
        self.assertContains(response, 'Enter a valid email address', count=1)
Пример #17
0
class QuestionMethodTests(TestCase):
    def setUp(self):
        first_name = "Joe"
        second_name = "Man"
        email = "*****@*****.**"
        password = "******"

        self.user = User(first_name=first_name,
                         second_name=second_name,
                         email=email,
                         password=password)

        self.client = Client()

    def test_registration_page(self):
        #setup
        response = self.client.post('/register',
                                    data={
                                        'first_name': self.user.first_name,
                                        'second_name': self.user.second_name,
                                        'email': self.user.email,
                                        'password': self.user.password
                                    })

        test_user = User.return_valid_user(self.user.email, self.user.password)

        #Test
        self.assertEqual(response.status_code, 200)
        self.assertContains(response, 'Registration success')
        self.assertTrue(
            test_helper.obj_compare(self.user, test_user, ['id', '_state']))

    def test_registration_page_form_validation(self):
        #setup
        response = self.client.post('/register',
                                    data={
                                        'first_name': '',
                                        'second_name': '',
                                        'email': '123',
                                        'password': ''
                                    })

        #Test
        self.assertEqual(response.status_code, 200)
        self.assertContains(response, 'This field is required', count=3)
        self.assertContains(response, 'Enter a valid email address', count=1)

    def test_dont_register_existing_email_idn(self):
        #setup
        self.user.save()
        response = self.client.post('/register',
                                    data={
                                        'first_name': self.user.first_name,
                                        'second_name': self.user.second_name,
                                        'email': self.user.email,
                                        'password': self.user.password
                                    })

        #Test
        self.assertEqual(response.status_code, 200)
        self.assertContains(response,
                            'User with this Email already exists',
                            count=1)
Пример #18
0
class QuestionMethodTests(TestCase):
    def setUp(self):
        first_name = "Joe"
        second_name = "Man"
        email = "*****@*****.**"
        password = "******"

        self.user = User(first_name=first_name,
                         second_name=second_name,
                         email=email,
                         password=password)

        self.client = Client()

    def test_login_page_loading(self):
        #setup
        response = self.client.get('/login')

        #Test
        self.assertEqual(response.status_code, 200)
        self.assertContains(response, "Login now")
        self.assertContains(response, "Register now")

    def test_login_page_loads_home_with_right_credentials(self):
        #setup
        self.user.save()
        response = self.client.post('/login',
                                    data={
                                        'email': self.user.email,
                                        'password': self.user.password
                                    })

        #Test
        self.assertEqual(response.status_code, 302)
        self.assertRegexpMatches(response.url, 'home')

    def test_login_page_stays_in_login_with_wrong_password(self):
        #setup
        self.user.save()
        response = self.client.post('/login',
                                    data={
                                        'email': self.user.email,
                                        'password':
                                        self.user.password + 'wrong'
                                    })

        #Test
        self.assertEqual(response.status_code, 200)
        self.assertContains(response, 'Login Error!')

    def test_login_page_stays_in_login_with_wrong_email(self):
        #setup
        self.user.save()
        response = self.client.post('/login',
                                    data={
                                        'email': self.user.email + 'wrong',
                                        'password': self.user.password
                                    })

        #Test
        self.assertEqual(response.status_code, 200)
        self.assertContains(response, 'Login Error!')

    def test_login_page_form_validation(self):
        #setup
        response = self.client.post('/login',
                                    data={
                                        'email': '123',
                                        'password': ''
                                    })

        #Test
        self.assertEqual(response.status_code, 200)
        self.assertContains(response, 'This field is required', count=1)
        self.assertContains(response, 'Enter a valid email address', count=1)