Ejemplo n.º 1
0
    def test_empty_cart(self):
        """
            test empty =cart successfully
        """

        user = fixtures.create_user(
            username='******', email="*****@*****.**", password='******', first_name='Test', last_name='User'
        )

        artist_user = fixtures.create_user(
            username='******', email="*****@*****.**", password='******', first_name='Test', last_name='User'
        )
        self.client.login(username=user.username, password='******')

        s = self.client.session
        s['user_id'] = user.id
        s.save()

        cart = fixtures.create_cart(session_key=s._session_key, user_id=user.id)

        art = fixtures.create_art(user_id=artist_user.id, category='test', photo='/whatever/', title='test art', description='test art')

        cli = fixtures.create_cart_line_item(cart_id=cart.id, art_id=art.id)

        url = reverse('cart.views.empty_cart')
        resp = self.client.post(url)

        self.assertEqual(resp.status_code, 200)
Ejemplo n.º 2
0
    def test_my_art_admin_non_artist_authenticated(self):
        """
            test a get request to the my artist admin view as an authenticated non artist
        """
        art_user = fixtures.create_user(
            username='******', password='******', email='*****@*****.**', first_name='art', last_name='user'
        )

        user = fixtures.create_user(
            username='******', password='******', email='*****@*****.**', first_name='test', last_name='user', is_artist=False
        )
        category = fixtures.create_category(name='Test Category')
        art = fixtures.create_art(
            user_id=user.id, category=category.id, photo=('test_photos/art/%s/test_photo.jpg' % art_user.id), title='Test Art', description='Some art'
        )
        like = fixtures.create_art_like(user_id=user.id, art_id=art.id)

        self.client.login(username=user.username, password='******')
        s = self.client.session
        s['user_id'] = user.id
        s.save()

        url = reverse("art.views.my_art_admin")
        resp = self.client.get(url)

        self.assertEqual(resp.status_code, 302)
Ejemplo n.º 3
0
    def test_add_to_cart_authenticated_existing_cart(self):
        """
            test an item being added to the cart via post request existing cart
        """
        user = fixtures.create_user(
            username='******', email="*****@*****.**", password='******', first_name='Test', last_name='User'
        )

        artist_user = fixtures.create_user(
            username='******', email="*****@*****.**", password='******', first_name='Test', last_name='User'
        )
        self.client.login(username=user.username, password='******')

        s = self.client.session
        s['user_id'] = user.id
        s.save()

        cart = fixtures.create_cart(session_key=s._session_key, user_id=user.id)

        art = fixtures.create_art(user_id=artist_user.id, category='test', photo='/whatever/', title='test art', description='test art')

        url = reverse('cart.views.add_to_cart', args=(art.id, ))
        resp = self.client.post(url)

        self.assertEqual(resp.status_code, 200)
Ejemplo n.º 4
0
    def test_save_profile_get(self):
        """
            test the save profile view with a post
            returns 405 for get not allowed
        """
        user = fixtures.create_user(
            username='******', email="*****@*****.**", password='******', first_name='Test', last_name='User'
        )
        #HACK: create the art directory for the user that matches what we insert into the db
        os.system('mkdir test_photos/user/%s' % user.id)
        os.system('cp user_profile/tests/resources/test_user.jpg test_photos/user/%s/' % user.id)
        os.system('mkdir test_photos/art/%s' % user.id)
        os.system('cp art/tests/resources/test_photo.jpg test_photos/art/%s/' % user.id)

        user_profile = fixtures.create_user_profile(
            user_id=user.id, twitter='test_handle', bio='test_bio', photo=('test_photos/user/%s/test_user.jpg' % user.id)
        )
        self.client.login(username=user.username, password='******')
        s = self.client.session
        s['user_id'] = user.id
        s.save()

        url = reverse("user_profile.views.save_profile")

        resp = self.client.get(url)

        self.assertEqual(resp.status_code, 405)
Ejemplo n.º 5
0
    def test_retrieve_featured_artists(self):

        date_format = '%m/%d/%Y'

        start = datetime.today()
        str_start = start.strftime(date_format)
        #TODO: this would fail in december
        end = datetime(start.year, start.month + 1, 1)
        str_end = end.strftime(date_format)

        for i in range(1, 10):
            user = fixtures.create_user(
                username='******' + str(i), password='******', email='user' + str(i) + '@test.com', first_name='test', last_name='user'
            )

            fa = fixtures.create_featured_artist(
                user_id=user.id, start_date=start, end_date=end, photo='\whatever'
            )

        featured_artists = retrieve_featured_artists(5)
        first_fa_ids = []
        for fa in featured_artists:
            first_fa_ids.append(fa.id)

        self.assertEqual(len(featured_artists), 5)
        self.assertEqual(featured_artists[0].total_imprints, 1)

        next_featured_artists = retrieve_featured_artists(5)
        next_fa_ids = []

        for fa in next_featured_artists:
            next_fa_ids.append(fa.id)

        self.assertNotEqual(first_fa_ids, next_fa_ids)
Ejemplo n.º 6
0
    def test_reset_password_post_success(self):
        """
            test a post request to the reset password view successfully
        """

        user = fixtures.create_user(
            username='******', password='******', email='*****@*****.**', first_name='test', last_name='user'
        )

        secret_question = fixtures.create_security_question(question='Test')

        fixtures.create_secret_answer(
            user_id=user.id, question_id=secret_question.id, answer='Test Answer'
        )

        cache.set('user_id', user.id, 30)
        post_dict = {'password': '******', 're_password': '******'}

        url = reverse('authentication.views.reset_password')
        resp = self.client.post(url, post_dict, follow=True)
        resp_url = (resp.__dict__.get('redirect_chain')[0])[0]
        parsed_url = urlparse(resp_url)

        self.assertEqual(resp.status_code, 200)
        self.assertEqual(parsed_url.path, '/login/')
Ejemplo n.º 7
0
    def test_unlike_art_get(self):
        """
            test a get request to the unlike view authenticated
        """
        user = fixtures.create_user(
            username='******', password='******', email='*****@*****.**', first_name='test', last_name='user'
        )
        self.client.login(username=user.username, password='******')
        s = self.client.session
        s['user_id'] = user.id
        s.save()
        category = fixtures.create_category(name='Test Category')

        #HACK: create the art directory for the user that matches what we insert into the db
        os.system('mkdir test_photos/art/%s' % user.id)
        os.system('cp art/tests/resources/test_photo.jpg test_photos/art/%s/' % user.id)

        art = fixtures.create_art(
            user_id=user.id, category=category.id, photo=('test_photos/art/%s/test_photo.jpg' % user.id), title='Test Art', description='Some art'
        )

        like = fixtures.create_art_like(user_id=user.id, art_id=art.id)

        url = reverse("art.views.unlike_art", args=(art.id, ))
        resp = self.client.get(url)

        self.assertEqual(resp.status_code, 405)
Ejemplo n.º 8
0
    def test_view_profile(self):
        user = fixtures.create_user(
            username='******', email="*****@*****.**", password='******', first_name='Test', last_name='User'
        )
        #HACK: create the art directory for the user that matches what we insert into the db
        os.system('mkdir test_photos/user/%s' % user.id)
        os.system('cp user_profile/tests/resources/test_user.jpg test_photos/user/%s/' % user.id)
        os.system('mkdir test_photos/art/%s' % user.id)
        os.system('cp art/tests/resources/test_photo.jpg test_photos/art/%s/' % user.id)

        user_profile = fixtures.create_user_profile(
            user_id=user.id, twitter='test_handle', bio='test_bio', photo=('test_photos/user/%s/test_user.jpg' % user.id)
        )

        category = fixtures.create_category(name='Test Category')

        art = fixtures.create_art(
            user_id=user.id, category=category.id, photo=('test_photos/art/%s/test_photo.jpg' % user.id), title='Test Art', description='Some art'
        )

        url = reverse("user_profile.views.view_profile", args=(user.id, ))

        resp = self.client.get(url)

        self.assertEqual(resp.status_code, 200)
Ejemplo n.º 9
0
    def test_featured_artist_form_invalid_date_greater(self):
        """
            test the featured artist form fails with a greater start date than end date
        """

        user = fixtures.create_user(
            username='******', email="*****@*****.**", password='******', first_name='Test', last_name='User'
        )

        self.client.login(username=user.username, password='******')
        s = self.client.session
        s['user_id'] = user.id
        s.save()

        date_format = '%m/%d/%Y'

        start = datetime.today()
        str_start = start.strftime(date_format)
        #TODO: this would fail in december
        end = datetime(start.year, start.month + 1, 1)
        str_end = end.strftime(date_format)

        post_dict = {'start_date': str_end, 'end_date': str_start}

        form = FeaturedArtistForm(post_dict)

        self.assertFalse(form.is_valid())
Ejemplo n.º 10
0
    def test_post_get_featured_register_no_start_date(self):
        """
            test a post request to the get_featured_register view failing because of no start date
        """

        user = fixtures.create_user(
            username='******', password='******', email='*****@*****.**', first_name='test', last_name='user'
        )

        self.client.login(username=user.username, password='******')
        s = self.client.session
        s['user_id'] = user.id
        s.save()

        date_format = '%m/%d/%Y'

        start = datetime.today()
        str_start = start.strftime(date_format)
        #TODO: this would fail in december
        end = datetime(start.year, start.month + 1, 1)
        str_end = end.strftime(date_format)

        post_dict = {'start_date': '', 'end_date': str_end}
        url = reverse("artists.views.get_featured_register")
        resp = self.client.post(url, post_dict)

        self.assertEqual(resp.status_code, 200)
Ejemplo n.º 11
0
    def test_post_get_featured_register_successful(self):
        """
            test a post request to the get_featured_register view successully
        """

        user = fixtures.create_user(
            username='******', password='******', email='*****@*****.**', first_name='test', last_name='user'
        )

        user_profile = fixtures.create_user_profile(
            user_id=user.id, twitter='test_handle', bio='test_bio', photo=('test_photos/user/%s/test_user.jpg' % user.id)
        )

        self.client.login(username=user.username, password='******')
        s = self.client.session
        s['user_id'] = user.id
        s.save()

        date_format = '%m/%d/%Y'

        start = datetime.today()
        str_start = start.strftime(date_format)
        #TODO: this would fail in december
        end = datetime(start.year, start.month + 1, 1)
        str_end = end.strftime(date_format)

        post_dict = {'start_date': str_start, 'end_date': str_end}
        url = reverse("artists.views.get_featured_register")
        resp = self.client.post(url, post_dict)

        self.assertEqual(resp.status_code, 302)
Ejemplo n.º 12
0
    def test_validate_answer_post_timeout(self):
        """
            test a post request to the validate answer view where the cached user id times out
        """

        user = fixtures.create_user(
            username='******', password='******', email='*****@*****.**', first_name='test', last_name='user'
        )

        secret_question = fixtures.create_security_question(question='Test')

        fixtures.create_secret_answer(
            user_id=user.id, question_id=secret_question.id, answer='Test Answer'
        )

        cache.set('user_id', user.id, 0.0000001)
        post_dict = {'secret_answer': 'Test Answer'}

        url = reverse('authentication.views.validate_answer')
        resp = self.client.post(url, post_dict, follow=True)
        resp_url = (resp.__dict__.get('redirect_chain')[0])[0]
        parsed_url = urlparse(resp_url)

        self.assertEqual(resp.status_code, 200)
        self.assertEqual(parsed_url.path, '/resetpassword/forgotpassword/')
Ejemplo n.º 13
0
    def test_create_user(self):
        """
            Test creation of a user record
        """
        user = fixtures.create_user(
            username='******', password='******', email='*****@*****.**', first_name='test', last_name='user'
        )

        self.assertTrue(isinstance(user, User))
Ejemplo n.º 14
0
    def test_artist_index(self):
        user = fixtures.create_user(
            username='******', password='******', email='*****@*****.**', first_name='test', last_name='user'
        )
        fixtures.create_user_profile(
            user_id=user.id, bio='Test bio', twitter='test_handle', photo=None
        )
        url = reverse("artists.views.index")
        resp = self.client.get(url)

        self.assertEqual(resp.status_code, 200)
Ejemplo n.º 15
0
    def test_create_art_form_non_artist(self):
        user = fixtures.create_user(
            username='******', password='******', email='*****@*****.**', first_name='test', last_name='user', is_artist=False
        )
        self.client.login(username=user.username, password='******')
        s = self.client.session
        s['user_id'] = user.id
        s.save()
        url = reverse("art.views.create_art_form")
        resp = self.client.get(url)

        self.assertEqual(resp.status_code, 200)
Ejemplo n.º 16
0
    def test_upload_get(self):
        user = fixtures.create_user(
            username='******', password='******', email='*****@*****.**', first_name='test', last_name='user'
        )
        self.client.login(username=user.username, password='******')
        s = self.client.session
        s['user_id'] = user.id
        s.save()
        url = reverse("art.views.upload")
        resp = self.client.get(url)

        self.assertEqual(resp.status_code, 405)
Ejemplo n.º 17
0
    def test_profile_creation(self):
        """
            Test creation of a profile record
        """
        user = fixtures.create_user(
            username='******', password='******', email='*****@*****.**', first_name='test', last_name='user'
        )
        user_photo = File('art/tests/resources/test_photo.jpg')
        profile = fixtures.create_user_profile(
            user_id=user.id, twitter='test_handle', bio='Test bio', photo=user_photo
        )

        self.assertTrue(isinstance(profile, Profile))
Ejemplo n.º 18
0
    def test_cart_creation_with_user(self):
        """
            test creation of a cart model with a user
        """

        user = fixtures.create_user(
                username='******', password='******', email='*****@*****.**', first_name='test', last_name='user'
        )

        cart = fixtures.create_cart(user_id=user.id, session_key='1234abc')


        self.assertTrue(isinstance(cart, Cart))
Ejemplo n.º 19
0
    def test_view_art_unauthenticated(self):
        user = fixtures.create_user(
            username='******', password='******', email='*****@*****.**', first_name='test', last_name='user'
        )
        category = fixtures.create_category(name='Test Category')
        os.system('mkdir test_photos/art/%s' % user.id)
        os.system('cp art/tests/resources/test_photo.jpg test_photos/art/%s/' % user.id)
        art = fixtures.create_art(
            user_id=user.id, category=category.id, photo=('test_photos/art/%s/test_photo.jpg' % user.id), title='Test Art', description='Some art'
        )
        url = reverse("art.views.view_art_single", args=(art.id, ))

        resp = self.client.get(url)

        self.assertEqual(resp.status_code, 200)
Ejemplo n.º 20
0
    def test_login_post_successful(self):
        """
            test a post login request from a existing user to the login view
        """

        user = fixtures.create_user(
            username='******', password='******', email='*****@*****.**', first_name='test', last_name='user'
        )

        post_dict = {'username': '******', 'password': '******'}

        url = reverse('authentication.views.login')
        resp = self.client.post(url, post_dict, follow=True)

        self.assertEqual(resp.status_code, 200)
Ejemplo n.º 21
0
    def test_handle_art_activation_unauthenticated_post_(self):
        """
            test a post request to the handle_art_activation unauthenticated
        """
        user = fixtures.create_user(
            username='******', password='******', email='*****@*****.**', first_name='test', last_name='user'
        )
        category = fixtures.create_category(name='Test Category')
        art = fixtures.create_art(
            user_id=user.id, category=category.id, photo=('test_photos/art/%s/test_photo.jpg' % user.id), title='Test Art', description='Some art'
        )
        like = fixtures.create_art_like(user_id=user.id, art_id=art.id)

        url = reverse("art.views.handle_art_activation", args=(art.id, ))
        resp = self.client.post(url)
        self.assertEqual(resp.status_code, 302)
Ejemplo n.º 22
0
    def test_art_creation(self):
        """
            Test creation of an art record
        """

        user = fixtures.create_user(
            username='******', password='******', email='*****@*****.**', first_name='test', last_name='user'
        )

        category = fixtures.create_category(name='Test Category')
        art_photo = File('art/tests/resources/test_photo.jpg')
        art = fixtures.create_art(
            user_id=user.id, category=category.id, photo=art_photo, title='Test Art', description='Some art'
        )

        self.assertTrue(isinstance(art, Art))
Ejemplo n.º 23
0
    def test_login_post_no_user(self):
        """
            test a post login request with a username that does not exist
        """

        user = fixtures.create_user(
            username='******', password='******', email='*****@*****.**', first_name='test', last_name='user'
        )

        post_dict = {'username': '******', 'password': '******'}

        url = reverse('authentication.views.login')
        resp = self.client.post(url, post_dict)

        self.assertEqual(resp.status_code, 200)
        self.assertEqual(resp.__dict__.get('_container')[0], 'User not found or password incorrect')
Ejemplo n.º 24
0
    def test_get_get_featured_register(self):
        """
            test that get request to the get featured register is blocked
        """
        user = fixtures.create_user(
            username='******', password='******', email='*****@*****.**', first_name='test', last_name='user'
        )

        self.client.login(username=user.username, password='******')
        s = self.client.session
        s['user_id'] = user.id
        s.save()

        url = reverse("artists.views.get_featured_register")
        resp = self.client.get(url)

        self.assertEqual(resp.status_code, 405)
Ejemplo n.º 25
0
    def test_art_index_authenticated(self):
        user = fixtures.create_user(
            username='******', password='******', email='*****@*****.**', first_name='test', last_name='user'
        )
        category = fixtures.create_category(name='Test Category')
        art = fixtures.create_art(
            user_id=user.id, category=category.id, photo=('test_photos/art/%s/test_photo.jpg' % user.id), title='Test Art', description='Some art'
        )
        like = fixtures.create_art_like(user_id=user.id, art_id=art.id)
        self.client.login(username=user.username, password='******')
        s = self.client.session
        s['user_id'] = user.id
        s.save()
        url = reverse("art.views.index")
        resp = self.client.get(url)

        self.assertEqual(resp.status_code, 200)
Ejemplo n.º 26
0
    def test_activate_user_success(self):
        """
            test a post request to the user activate view, with a user id that has not been activated
        """

        user = fixtures.create_user(
            username='******', password='******',
            email='*****@*****.**', first_name='test',
            last_name='user', is_active=False
        )

        url = reverse('registration.views.activate_user', args=[user.id])
        resp = self.client.post(url, follow=True)
        messages = list(resp.context['messages'])

        self.assertEqual(resp.status_code, 200)
        self.assertEqual(len(messages), 0)
Ejemplo n.º 27
0
    def test_contact_form_authenticated_successful(self):
        """
            test a get request to the contact view by an authenticated user
        """

        user = fixtures.create_user(
            username='******', password='******', email='*****@*****.**', first_name='test', last_name='user'
        )
        self.client.login(username=user.username, password='******')
        s = self.client.session
        s['user_id'] = user.id
        s.save()

        url = reverse('home.views.contact')
        resp = self.client.get(url)

        self.assertEqual(resp.status_code, 200)
Ejemplo n.º 28
0
    def test_create_security_answer(self):
        """
            Test creation of a security answer record

        """

        user = fixtures.create_user(
            username='******', password='******', email='*****@*****.**', first_name='test', last_name='user'
        )

        security_question = fixtures.create_security_question(question='Test question?')

        security_answer = fixtures.create_secret_answer(
            user_id=user.id, question_id=security_question.id, answer='Test Answer'
        )

        self.assertTrue(isinstance(security_answer, SecurityAnswer))
Ejemplo n.º 29
0
    def test_get_featured_authenticated_non_artist(self):
        """
            test a get request as an authenticated non artist to the get_featured view
        """

        user = fixtures.create_user(
            username='******', password='******', email='*****@*****.**', first_name='test', last_name='user', is_artist=False
        )

        self.client.login(username=user.username, password='******')
        s = self.client.session
        s['user_id'] = user.id
        s.save()

        url = reverse("artists.views.get_featured")
        resp = self.client.get(url)

        self.assertEqual(resp.status_code, 302)
Ejemplo n.º 30
0
    def test_like_creation(self):
        """
            test creation of an art like record
        """

        user = fixtures.create_user(
            username='******', password='******', email='*****@*****.**', first_name='test', last_name='user'
        )

        category = fixtures.create_category(name='Test Category')

        art = fixtures.create_art(
            user_id=user.id, category=category.id, photo='test/photo', title='Test Art', description='Some art'
        )

        art_like = fixtures.create_art_like(user_id=user.id, art_id=art.id)

        self.assertTrue(isinstance(art_like, Like))