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)
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)
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)
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)
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)
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)
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))
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)
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)
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))
def test_handle_art_action_get(self): """ test a get request to the handle_art_activation """ 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.handle_art_activation", args=(art.id, )) resp = self.client.get(url) self.assertEqual(resp.status_code, 405)
def test_handle_art_deactivation_authenticated_post_artist(self): """ test a post request to the handle_art_activation deactivation authenticated with an artist user """ 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), active=False, 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.handle_art_activation", args=(art.id, )) resp = self.client.post(url) self.assertEqual(resp.status_code, 200) self.assertEqual(resp.__dict__.get('_container')[0], 'Deactivate')
def test_art_tag_creation(self): """ test creation of an art record with tags, and retrieving the tags with the art get_tags function """ 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' ) tag = fixtures.create_tag(name='Test Tag') art_tag = fixtures.create_art_tag(art_id=art.id, tag_id=tag.id) self.assertTrue(isinstance(art_tag, ArtTag)) tags = art.get_tags() self.assertEqual(tags, 'Test Tag')