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("/"))
Exemple #2
0
    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'
                         }])
Exemple #3
0
    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 '
        }])
Exemple #4
0
    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()
Exemple #5
0
 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"),
         "")
Exemple #6
0
    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 '
        }])
Exemple #7
0
 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)
Exemple #8
0
    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")
Exemple #9
0
    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)
Exemple #10
0
    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'
        }])
Exemple #11
0
    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/")
Exemple #13
0
 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/")
Exemple #14
0
 def test_has_no_url(self):
     self.assertEqual(
         Entity(slug="slug").get_absolute_url(), "/contact/slug/")
Exemple #15
0
 def test_auto_page_url(self):
     self.assertEquals(
         Entity(slug="slug").get_auto_page_url("contact-entity"),
         "/contact/slug/")
Exemple #16
0
 def test_auto_page_url_no_kind_string_provided(self):
     self.assertEquals(Entity(slug="slug").get_auto_page_url(""), "")
Exemple #17
0
    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()
Exemple #18
0
 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/")