def setUp(self): home_page = create_page("School home page", "null.html", "en", published=True) self.school = Entity(name="School of Medicine", slug="medicine", auto_news_page=True, website=home_page) self.item1 = Study(title="newer", in_lists=True, published=True, date=datetime.now(), slug="item1") self.item1.save() self.item2 = Study(title="older", in_lists=True, published=True, date=datetime.now() - timedelta(days=200), slug="item2") self.item2.save() self.item3 = Study(title="unpublished", in_lists=True, published=False, date=datetime.now(), slug="item3") self.item1.save() self.itemlist = StudiesList(request=RequestFactory().get("/"))
def test_other_items(self): school = Entity(name="School of Medicine") school.save() self.itemlist.entity = school self.itemlist.other_item_kinds = ("previous_events", "forthcoming_events") self.itemlist.build() # there is nothing to show in other_items() self.assertEqual( self.itemlist.other_items(), [], ) # create some items that will count as other_items() self.item1.hosted_by = school self.item2.hosted_by = school self.item3.hosted_by = school self.item1.save() self.item2.save() self.item3.save() self.assertEqual(self.itemlist.other_items(), [{ 'count': 2, 'link': '/forthcoming-events/', 'title': 'All forthcoming events' }, { 'count': 1, 'link': '/previous-events/', 'title': 'Previous events' }])
def test_other_items(self): lister = NewsAndEventsPluginLister(entity=Entity(slug="test")) self.assertItemsEqual(lister.other_items(), [{ 'css_class': 'main', 'link': '/news-and-events/test/', 'title': 'More ' }])
def setUp(self): self.school = Entity(name="School of Medicine") self.school.save() self.item1 = TestModel(title="1") self.item1.save() self.item2 = TestModel(title="2") self.item2.save()
def test_external_entity(self): # an external entity can't have any related info pages external_url = ExternalLink(title="Example", url="http://example.com") self.school.external_url = external_url self.assertEquals( Entity( external_url=external_url).get_auto_page_url("contact-entity"), "")
def test_other_items(self): lister = VacanciesAndStudentshipsPluginLister(entity=Entity( slug="test")) self.assertItemsEqual(lister.other_items(), [{ 'css_class': 'main', 'link': '/vacancies-and-studentships/test/', 'title': 'More ' }])
def test_base_entity_with_one_entity(self): """ test EntityManager.base_entity """ # one Entities, should be that self.school = Entity( name="School of Medicine", slug="medicine", ) self.school.save() self.assertEquals(Entity.objects.base_entity(), self.school)
def test_contacts_and_people_slug_match_but_external(self): e = ExternalLink(title="external link", url="http://example.com/", id=1) e.save() entity = Entity(name="School of Medicine", slug="medicine", external_url=e) entity.save() self.assertRaises(Http404, contacts_and_people, RequestFactory().get("/"), "medicine")
def setUp(self): # Every test needs a client. self.client = Client() home_page = create_page("School home page", "null.html", "en", published=True) self.school = Entity(name="School of Medicine", slug="medicine", auto_vacancies_page=True, website=home_page)
def test_other_items(self): school = Entity(name="School of Medicine") school.save() self.itemlist.entity = school self.itemlist.other_item_kinds = ("archive") self.item1.hosted_by = school self.item2.hosted_by = school self.item1.save() self.item2.save() self.itemlist.build() self.assertEqual(self.itemlist.other_items(), [{ 'count': 2, 'link': '/news-archive/', 'title': 'News archive' }])
def test_other_items(self): school = Entity(name="School of Medicine", short_name="Medicine") school.save() self.itemlist.entity = school self.itemlist.other_item_kinds = ["archived", "open", "main"] self.itemlist.build() # "main" other items are always created; the others need tests to # see if any exist self.assertEqual(self.itemlist.other_items(), [{ 'link': '/vacancies-and-studentships/', 'title': u'Medicine vacancies & studentships', 'css_class': 'main', }]) # now we save some items self.item1.hosted_by = school self.item2.hosted_by = school self.item3.hosted_by = school self.item1.save() self.item2.save() self.item3.save() self.itemlist.build() self.assertEqual(list(self.itemlist.items), [self.item1, self.item3]) self.assertEqual(list(self.itemlist.archived), [self.item2]) self.assertEqual(list(self.itemlist.other_items()), [ { 'count': 2, 'link': '/vacancies/', 'title': 'All open vacancies' }, { 'count': 1, 'link': '/archived-vacancies/', 'title': 'Archived vacancies' }, { 'link': '/vacancies-and-studentships/', 'title': u'Medicine vacancies & studentships', 'css_class': 'main', }, ])
def test_link_to_more(self): self.assertEqual(self.study.auto_page_view_name, "clinical-studies") self.study.hosted_by = Entity(slug="slug") self.assertEqual(self.study.link_to_more(), "/clinical-studies/slug/")
def test_link_to_more(self): self.assertEqual(self.toothjob.auto_page_view_name, "vacancies-and-studentships") self.toothjob.hosted_by = Entity(slug="slug") self.assertEqual(self.toothjob.link_to_more(), "/vacancies-and-studentships/slug/")
def test_has_no_url(self): self.assertEqual( Entity(slug="slug").get_absolute_url(), "/contact/slug/")
def test_auto_page_url(self): self.assertEquals( Entity(slug="slug").get_auto_page_url("contact-entity"), "/contact/slug/")
def test_auto_page_url_no_kind_string_provided(self): self.assertEquals(Entity(slug="slug").get_auto_page_url(""), "")
def setUp(self): # a geographical Site self.cardiff = Site( site_name="Main site", post_town="Cardiff", country="UK", ) self.cardiff.save() # a couple of Buildings on the Site self.main_building = Building( name="Main Building", street="St Mary's Street", site=self.cardiff, ) self.main_building.save() self.heart_testing_centre = Building( name="Heart Testing Centre", street="Queen Street", site=self.cardiff, ) self.heart_testing_centre.save() # create some Entities in a hierarchy # School of Medicine # Departments (an abstract entity) # Department of Cardiology # Section of Heart Research # Heart Testing Centre # Department of Cardiology Student Centre # Web editors (an abstract entity) self.school = Entity( name="School of Medicine", building=self.main_building, slug="medicine", ) self.school.save() self.departments = Entity( name="departments", parent=self.school, slug="departments", abstract_entity=True, building=self.heart_testing_centre, # this should be ignored by everything! ) self.departments.save() self.department = Entity( name="Department of Cardiology", parent=self.departments, slug="cardiology", ) self.department.save() self.section = Entity( name="Section of Heart Research", parent=self.department, slug="heart-research", ) self.section.save() self.testing_centre = Entity( name="Testing Centre", parent=self.department, slug="testing-centre", building_recapitulates_entity_name=True, building=self.heart_testing_centre, ) self.testing_centre.save() self.student_centre = Entity( name="Department of Cardiology Student Centre", parent=self.department, slug="student-centre", display_parent=False, ) self.student_centre.save() self.web_editors = Entity( name="Group of web editors", parent=self.school, slug="web-editors", abstract_entity=True, ) self.web_editors.save() # set up a Person - we will add memberships later in the tests self.smith = Person(slug="smith") self.smith.save()
def test_link_to_more(self): self.assertEqual(self.tootharticle.auto_page_view_name, "news-and-events") self.tootharticle.hosted_by = Entity(slug="slug") self.assertEqual(self.tootharticle.link_to_more(), "/news-and-events/slug/")