def setUp(self) -> None: self.organizer = Group(name="organizer") self.organizer.save() self.public = Event( name="Public Event", image=get_image_file(), description="Public Event description", lead="Public Event Lead", start_date_time=make_aware( datetime.datetime(2200, 1, 1, hour=1, minute=20)), end_date_time=make_aware( datetime.datetime(2200, 1, 1, hour=16, minute=36)), member_only=False, location="Common Room", organizer=self.organizer, price=69.69, ) self.public.save() self.member = Event( name="Member Event", image=get_image_file(), description="Member Event description", lead="Member Event Lead", start_date_time=make_aware( datetime.datetime(2200, 1, 1, hour=1, minute=20)), end_date_time=make_aware( datetime.datetime(2200, 1, 1, hour=16, minute=36)), member_only=True, location="Common Room", organizer=self.organizer, price=69.69, ) self.member.save()
def setUp(self) -> None: News( title="Past public news", publish_date="2010-10-21", image=get_image_file(), member_only=False, lead="pp lead", content="pp content", ).save() News( title="Past member news", publish_date="2010-12-31", image=get_image_file(), member_only=True, lead="pp lead", content="pp content", ).save() News( title="Future public news", publish_date="2100-10-21", image=get_image_file(), member_only=False, lead="pp lead", content="pp content", ).save() News( title="Future member news", publish_date="2100-12-31", image=get_image_file(), member_only=True, lead="pp lead", content="pp content", ).save()
def generate_missing_fields_form(*fields): data = { "name": "Name", "start_date_time": make_aware(datetime.datetime(2200, 1, 1, hour=1, minute=20)), "end_date_time": make_aware(datetime.datetime(2200, 1, 1, hour=1, minute=20)), "member_only": True, "lead": "Lead", "description": "Description", "location": "Location", "organizer": Group(name="organizer-group").save(), "price": 42.0, } upload_image = get_image_file() files = { "image": SimpleUploadedFile(upload_image.name, upload_image.read()) } for field in fields: if field in data: del data[field] if field in files: del files[field] return EventForm(data=data, files=files)
def test_prefill_data_from_db(self): album = PhotoAlbum(title="Borrel", date="2010-10-21", album_cover=get_image_file()) form = PhotoAlbumUpdateForm(instance=album) self.assertEqual("Borrel", form["title"].initial) self.assertEqual("2010-10-21", form["date"].initial)
def test_past_album_is_valid(self): form = self.generate_form("Borrel", "2010-10-12", get_image_file()) self.assertTrue(form.is_valid()) form.save() album = PhotoAlbum.objects.get(title="Borrel") self.assertIsNotNone(album) self.assertEqual(datetime.date(2010, 10, 12), album.date)
def setUp(self) -> None: News( pk=1, title="Past public news", publish_date="2010-10-21", image=get_image_file(), member_only=False, lead="pp lead", content="pp content", ).save()
def test_prefill_data_from_db(self): news = News( title="Past public news", publish_date="2010-10-21", image=get_image_file(), member_only=False, lead="pp lead", content="pp content", ) form = NewsForm(instance=news) self.assertEqual("Past public news", form["title"].initial) self.assertEqual("2010-10-21", form["publish_date"].initial) self.assertEqual(False, form["member_only"].initial) self.assertEqual("pp lead", form["lead"].initial) self.assertEqual("pp content", form["content"].initial)
def test_future_news_is_not_published(self): form = generate_form( title="Past public news", publish_date="2100-10-21", image=get_image_file(), lead="pp lead", content="pp content", ) self.assertTrue(form.is_valid()) form.save() news = News.objects.get(title="Past public news") self.assertEqual("Past public news", news.title) self.assertEqual(datetime.date(2100, 10, 21), news.publish_date) self.assertEqual("pp lead", news.lead) self.assertEqual("pp content", news.content) self.assertFalse(news.published())
def generate_form( name="Name", start_date_time=None, end_date_time=None, image=None, member_only=False, lead="Lead", description="Description", location="Location", organizer=None, price=20.0, ) -> EventForm: if start_date_time is None: start_date_time = make_aware( datetime.datetime(2200, 1, 1, hour=1, minute=20)) if end_date_time is None: end_date_time = make_aware( datetime.datetime(2200, 1, 1, hour=1, minute=20)) if organizer is None: organizer = Group(name="organizer-group").save() files = {} if image is None: upload_image = get_image_file() files["image"] = SimpleUploadedFile(upload_image.name, upload_image.read()) return EventForm( data={ "name": name, "start_date_time": start_date_time, "end_date_time": end_date_time, "member_only": member_only, "lead": lead, "description": description, "location": location, "organizer": organizer, "price": price, }, files=files, )
def setUp(self) -> None: PhotoAlbum(pk=1, title="Borrel", date="2010-10-21", album_cover=get_image_file()).save()
def test_success_submission(self): img = get_image_file() form = PhotoObjectForm( files={"photo": SimpleUploadedFile(img.name, img.read())}) self.assertTrue(form.is_valid())
def test_future_album_is_not_valid(self): form = self.generate_form("Borrel", "2100-10-12", get_image_file()) self.assertFalse(form.is_valid()) self.assertTrue(form.has_error("date", PHOTO_ALBUM_FUTURE_DATE))