def setUp(self): user_1 = UserFactory(nsid='1234567890@N01') user_2 = UserFactory(nsid='9876543210@N01') account_1 = AccountFactory(user=user_1) account_2 = AccountFactory(user=user_2) self.photosets_1 = PhotosetFactory.create_batch(2, user=user_1) self.photosets_2 = PhotosetFactory.create_batch(3, user=user_2)
def test_public_photos(self): "public_photos() should only return public photos." public_photo = PhotoFactory(is_private=False) private_photo = PhotoFactory(is_private=True) photoset = PhotosetFactory() photoset.photos.add(public_photo, private_photo) self.assertEqual(len(photoset.public_photos()), 1) self.assertEqual(photoset.public_photos()[0], public_photo)
def test_photoset_ordering(self): "Latest photoset should come first by default." photoset_1 = PhotosetFactory( title='Earliest', flickr_created_time=datetime.datetime.strptime( '2016-04-07 12:00:00', '%Y-%m-%d %H:%M:%S').replace(tzinfo=pytz.utc)) photoset_2 = PhotosetFactory( title='Latest', flickr_created_time=datetime.datetime.strptime( '2016-04-08 12:00:00', '%Y-%m-%d %H:%M:%S').replace(tzinfo=pytz.utc)) photosets = Photoset.objects.all() self.assertEqual(photosets[0].title, 'Latest') self.assertEqual(photosets[1].title, 'Earliest')
def test_permalink(self): "Should point to the correct Flickr.com page" photoset = PhotosetFactory(user=UserFactory(nsid='1234567890@N01'), flickr_id='12345') self.assertEqual( photoset.permalink, 'https://www.flickr.com/photos/1234567890@N01/albums/12345')
def test_photo_ordering(self): "Should return photos in the correct order." photo_1 = PhotoFactory() photo_2 = PhotoFactory() photo_3 = PhotoFactory() photoset = PhotosetFactory() photoset.photos.add(photo_2, photo_1, photo_3) photos = photoset.photos.all() self.assertEqual(photos[0], photo_2) self.assertEqual(photos[1], photo_1) self.assertEqual(photos[2], photo_3)
def setUp(self): self.user_1 = UserFactory(nsid='1234567890@N01') self.account_1 = AccountFactory(user=self.user_1) # Three photos, one of which is private. self.photos_1 = PhotoFactory.create_batch(3, user=self.user_1) self.photos_1[0].is_private = True self.photos_1[0].save() self.user_2 = UserFactory(nsid='9876543210@N01') self.account_2 = AccountFactory(user=self.user_2) self.photos_2 = PhotoFactory.create_batch(3, user=self.user_2) # Has three photos, one of them private: self.photoset_1 = PhotosetFactory(user=self.user_1, flickr_id=123456) self.photoset_1.photos.add(*self.photos_1) # Should have two of user_2's three photos: self.photoset_2a = PhotosetFactory(user=self.user_2, flickr_id=98765) self.photoset_2a.photos.add(self.photos_2[0], self.photos_2[1]) # Has all three of user_2's photos: self.photoset_2b = PhotosetFactory(user=self.user_2, flickr_id=55555) self.photoset_2b.photos.add(*self.photos_2)
def test_get_absolute_url(self): photoset = PhotosetFactory(user=UserFactory(nsid='1234567890@N01'), flickr_id='123') self.assertEqual(photoset.get_absolute_url(), '/flickr/1234567890@N01/albums/123/')
def test_unique_flickr_id(self): "Ensures flickr_id is unique" photoset_1 = PhotosetFactory(flickr_id=123456) with self.assertRaises(IntegrityError): photoset_2 = PhotosetFactory(flickr_id=123456)
def test_str(self): "Has the correct string representation" photoset = PhotosetFactory(title='My test photoset') self.assertEqual(photoset.__str__(), 'My test photoset')