def test_thumbnail_url(self): photo = make(Photo, pk=1, file=gen_image_field()) name = 'thumbnail-{name}'.format(name=os.path.basename(photo.file.name)) path = os.path.join(settings.MEDIA_ROOT, 'photos', name) url = posixpath.join(settings.MEDIA_URL, 'photos', name) if os.path.exists(path): os.remove(path) self.assertEqual(photo.thumbnail_url, url) self.assertTrue(os.path.exists(path)) # Now we want to make sure subsequent calls to the thumbnail_url # do not recreate the image (since that would be expensive). flag_text = 'this should not be overwritten!' with open(path, 'w') as f: f.write(flag_text) self.assertEqual(photo.thumbnail_url, url) with open(path) as f: self.assertEqual(f.read(), flag_text) os.remove(path)
def test_additional_speaker(self): speaker2 = mommy.make(Speaker, photo=gen_image_field()) mommy.make(AdditionalSpeaker, proposalbase=self.proposal, speaker=speaker2, status=AdditionalSpeaker.SPEAKING_STATUS_ACCEPTED) response = self.client.get(reverse('pybay_speakers_list')) self.assertCountEqual(response.context['speakers'], [self.speaker, speaker2])
def test_get_active_speaker_by_slug(self): s1 = mommy.make(Speaker, name="Lorem Ipsum 1", photo=gen_image_field()) s2 = mommy.make(Speaker, name="Lorem Ipsum 2", photo=gen_image_field()) s3 = mommy.make(Speaker, name="Lorem Ipsum 3", photo=gen_image_field()) kind = mommy.make(ProposalKind) p2 = TalkProposal.objects.create( title='test this title', kind=kind, speaker=s2, audience_level=1, ) mommy.make(ProposalResult, proposal=p2, status='accepted') self.assertEquals( get_accepted_speaker_by_slug(s2.name_slug), s2, ) with self.assertRaises(Speaker.DoesNotExist): get_accepted_speaker_by_slug(s1.name_slug)
def setUp(self): kind = mommy.make(ProposalKind) self.speaker = mommy.make(Speaker, photo=gen_image_field()) self.proposal = TalkProposal.objects.create( title='test this title', kind=kind, speaker=self.speaker, audience_level=1, ) proposal_result = mommy.make(ProposalResult, proposal=self.proposal, status='accepted')
def test_create(self): data = { 'avatar': gen_image_field(), 'country': self.country_random.id, 'first_name': gen_string(max_length=10), 'last_name': gen_string(max_length=10), 'password': gen_string(max_length=10), 'paypal_email': gen_email(), 'username': gen_email() } response = self.client.post(self.proxies_list_url, data) self.assertEqual(response.status_code, status.HTTP_201_CREATED)
def test_edit_photo(self): photo = make(Photo, pk=1, file=gen_image_field(), taken_on=now()) response = self.client.get(reverse('admin-edit-photo', args=(photo.pk,))) self.assertEqual(response.status_code, 200) # edit the photo data = response.context['form'].initial data['caption'] = "whatever" response = self.client.post(reverse('admin-edit-photo', args=(photo.pk,)), data) # the response should be valid, so a redirect should happen self.assertEqual(response.status_code, 302) # make sure the caption got updated photo = Photo.objects.get(pk=1) self.assertEqual(photo.caption, data['caption'])
def test_get_slug(self): self.speaker = mommy.make(Speaker, name="Lorem Ipsum", photo=gen_image_field()) self.assertEquals(self.speaker.name_slug, "lorem-ipsum")
def test_url(self): # make sure the URL path is valid photo = make(Photo, pk=1, file=gen_image_field()) self.assertEqual(photo.url, "/media/photos/%s" % os.path.basename(photo.file.name))