class ConnectionCreateViewTest(TestCase): def setUp(self): self.site = LearningSiteFactory() self.parent = LearningSiteFactory() def test_get_form(self): view = ConnectionCreateView() view.parent = self.parent view.request = RequestFactory() view.request.method = 'GET' frm = view.get_form() self.assertEquals(frm.fields['site'].queryset.count(), 1) self.assertEquals(frm.fields['site'].queryset[0], self.site) def test_form_valid_associates(self): site = LearningSiteFactory() frm = ConnectionForm() frm.cleaned_data = {'connection_type': 'associate', 'site': site} view = ConnectionCreateView() view.parent = self.parent view.form_valid(frm) self.assertTrue(len(self.parent.associates()), 1) self.assertEquals(self.parent.associates()[0], site)
def setUp(self): self.site = LearningSiteFactory() self.parent = LearningSiteFactory() editor = UserFactory() editor.groups.add(GroupFactory(name='Editor')) self.client.login(username=editor.username, password='******')
def test_get_min_year(self): LearningSiteFactory(established=None, defunct=None) LearningSiteFactory() dt = ExtendedDateFactory(edtf_format='1918') LearningSiteFactory(established=None, defunct=dt) view = MapView() qs = LearningSite.objects.all() self.assertEquals(view.get_min_year(qs), 1918)
def setUp(self): self.site1 = LearningSiteFactory( title='Site Alpha', description='the first') self.site2 = LearningSiteFactory( title='Site Beta', established=None, defunct=None) dt1 = ExtendedDateFactory(edtf_format='1918') dt2 = ExtendedDateFactory(edtf_format='1932') self.site3 = LearningSiteFactory( title='Site Gamma', established=dt1, defunct=dt2) self.site3.tags.add('red')
def test_connections(self): parent = LearningSiteFactory() sib = LearningSiteFactory() sib2 = LearningSiteFactory() LearningSiteRelationshipFactory(site_one=parent, site_two=sib) LearningSiteRelationshipFactory(site_one=sib2, site_two=parent) ids = parent.connections() self.assertEquals(len(ids), 2) self.assertTrue(sib.id in ids) self.assertTrue(sib2.id in ids)
def setUp(self): self.site = LearningSiteFactory() grp = GroupFactory(name='Editor') self.editor = UserFactory() self.editor.groups.add(grp) self.creator = UserFactory() self.creator.groups.add(grp) self.site = LearningSiteFactory(created_by=self.creator) self.url = reverse('site-delete-view', kwargs={'pk': self.site.id})
def test_family(self): parent = LearningSiteFactory() sib = LearningSiteFactory() sib2 = LearningSiteFactory() LearningSiteRelationshipFactory(site_one=parent, site_two=sib) LearningSiteRelationshipFactory(site_one=sib2, site_two=parent) family = LearningSiteFamilySerializer().get_family(parent) self.assertEquals(len(family), 2) self.assertEquals(family[0]['id'], sib.id) self.assertEquals(family[0]['relationship'], 'associate') self.assertEquals(family[1]['id'], sib2.id) self.assertEquals(family[1]['relationship'], 'associate')
def test_places_by_start_date(self): site = LearningSiteFactory() place1 = site.place.first() place2 = PlaceFactory(start_date=None, end_date=None) site.place.add(place2) dt = ExtendedDate.objects.create(edtf_format='1920') place3 = PlaceFactory(start_date=dt) site.place.add(place3) qs = site.places_by_start_date() self.assertEquals(qs[0], place1) self.assertEquals(qs[1], place3) self.assertEquals(qs[2], place2)
def test_save(self): site = LearningSiteFactory(defunct=None) data = { 'title': 'Foo', 'established-is_range': False, 'established-millenium1': '2', 'established-century1': '0', 'established-decade1': '0', 'established-year1': '8', 'established-month1': '', 'established-day1': '', 'established-approximate1': True, 'established-uncertain1': True, 'defunct-is_range': False, 'defunct-millenium1': '2', 'defunct-century1': '0', 'defunct-decade1': '1', 'defunct-year1': '1', 'defunct-month1': '', 'defunct-day1': '', 'defunct-approximate1': False, 'defunct-uncertain1': False, } form = LearningSiteForm(data, instance=site) self.assertTrue(form.is_valid()) form.save() # make sure this was all saved self.assertEquals(site.established.edtf_format, '2008?~') self.assertEquals(site.defunct.edtf_format, '2011')
def test_get(self): site1 = LearningSiteFactory(title='Site Alpha') url = "/api/site/?q=Alpha" response = self.client.get(url) self.assertEquals(response.status_code, 200) the_json = loads(response.content.decode('utf-8')) self.assertEquals(len(the_json['results']), 1) self.assertEquals(the_json['results'][0]['id'], site1.id)
def setUp(self): self.site = LearningSiteFactory() self.collection = ArchivalCollectionFactory() self.collection.learning_sites.add(self.site) self.url = reverse('collection-delete-view', kwargs={ 'parent': self.site.id, 'pk': self.collection.id })
def test_form_valid_associates(self): site = LearningSiteFactory() frm = ConnectionForm() frm.cleaned_data = {'connection_type': 'associate', 'site': site} view = ConnectionCreateView() view.parent = self.parent view.form_valid(frm) self.assertTrue(len(self.parent.associates()), 1) self.assertEquals(self.parent.associates()[0], site)
def setUp(self): self.site = LearningSiteFactory() self.collection = ArchivalCollectionFactory() self.link_url = reverse('collection-link-view', kwargs={'parent': self.site.id}) self.unlink_url = reverse('collection-unlink-view', kwargs={ 'parent': self.site.id, 'pk': self.collection.id })
def setUp(self): self.site = LearningSiteFactory() self.footnote = FootnoteFactory() self.site.footnotes.add(self.footnote) self.create_url = reverse('footnote-create-view', kwargs={'parent': self.site.id}) self.edit_url = reverse('footnote-edit-view', kwargs={ 'parent': self.site.id, 'pk': self.footnote.id }) self.delete_url = reverse('footnote-delete-view', kwargs={ 'parent': self.site.id, 'pk': self.footnote.id })
class ConnectionDeleteViewTest(TestCase): def setUp(self): self.site = LearningSiteFactory() self.parent = LearningSiteFactory() editor = UserFactory() editor.groups.add(GroupFactory(name='Editor')) self.client.login(username=editor.username, password='******') def test_remove_associate(self): LearningSiteRelationshipFactory(site_one=self.parent, site_two=self.site) url = reverse('connection-delete-view', kwargs={ 'parent': self.parent.pk, 'type': 'associate', 'pk': self.site.pk }) response = self.client.post(url) self.assertEquals(response.status_code, 302) self.assertTrue(self.site not in self.parent.associates())
def test_get_year_range(self): site = LearningSiteFactory() self.assertEquals(site.get_year_range(), (1984, 1984)) site = LearningSiteFactory(established=None, defunct=None) self.assertEquals(site.get_year_range(), (None, None)) site = LearningSiteFactory() dt = ExtendedDate.objects.create(edtf_format='2018') site.defunct = dt site.save() self.assertEquals(site.get_year_range(), (1984, 2018))
def test_create_or_update(self): site = LearningSiteFactory(established=None) data = { 'is_range': False, 'millenium1': '2', 'century1': '0', 'decade1': '1', 'year1': '0', 'month1': '2', 'day1': '28', 'approximate1': True, 'uncertain1': True, 'millenium2': None, 'century2': None, 'decade2': None, 'year2': None, 'month2': None, 'day2': None, 'approximate2': False, 'uncertain2': False, } # add established date form = ExtendedDateForm(data=data) self.assertTrue(form.is_valid()) form.create_or_update(site, 'established') site.refresh_from_db() established = site.established self.assertEquals(established.edtf_format, '2010-02-28?~') # update established date data['year1'] = 1 form = ExtendedDateForm(data=data) self.assertTrue(form.is_valid()) form.create_or_update(site, 'established') site.refresh_from_db() self.assertEquals(established.id, site.established.id) self.assertEquals(established.edtf_format, '2011-02-28?~') # remove established date data = { 'is_range': False, 'millenium1': '', 'century1': '', 'decade1': '', 'year1': '', 'month1': '', 'day1': '', 'approximate1': True, 'uncertain1': True, 'millenium2': '', 'century2': '', 'decade2': '', 'year2': '', 'month2': '', 'day2': '', 'approximate2': False, 'uncertain2': False, } form = ExtendedDateForm(data=data) self.assertTrue(form.is_valid()) form.create_or_update(site, 'established') site.refresh_from_db() self.assertIsNone(site.established) with self.assertRaises(ExtendedDate.DoesNotExist): ExtendedDate.objects.get(id=established.id)
def setUp(self): self.site = LearningSiteFactory() self.parent = LearningSiteFactory()
def setUp(self): self.site = LearningSiteFactory() self.url = reverse('site-gallery-view', kwargs={'parent': self.site.id})
def setUp(self): self.user = UserFactory() self.user.groups.add(GroupFactory(name='Editor')) self.site = LearningSiteFactory() self.repository = ArchivalRepositoryFactory()
def test_learning_site_detail(self): site = LearningSiteFactory() url = reverse('site-detail-view', kwargs={'pk': site.id}) response = self.client.get(url) self.assertEquals(response.status_code, 200)
def setUp(self): self.site = LearningSiteFactory() self.url = reverse('display-date-view')
def test_empty(self): site = LearningSiteFactory() self.assertFalse(site.empty()) site = LearningSite.objects.create(title='Foo') self.assertTrue(site.empty())
def setUp(self): self.site = LearningSiteFactory() self.repository = ArchivalRepositoryFactory() self.url = reverse('collection-create-view', kwargs={'parent': self.site.id})
def test_group(self): site = LearningSite.objects.create(title='test site') self.assertEquals(site.group(), 'other') site = LearningSiteFactory() self.assertEquals(site.group(), 'school')
def setUp(self): self.user = UserFactory(username='******') self.site1 = LearningSiteFactory(title='foo', created_by=self.user) self.site2 = LearningSiteFactory(title='bar')
class ApiViewTest(TestCase): def setUp(self): self.user = UserFactory() self.user.groups.add(GroupFactory(name='Editor')) self.site = LearningSiteFactory() self.repository = ArchivalRepositoryFactory() def test_anonymous(self): # views succeed response = self.client.get('/api/site/', {}, HTTP_X_REQUESTED_WITH='XMLHttpRequest') self.assertEquals(response.status_code, 200) the_json = loads(response.content.decode('utf-8')) self.assertEquals(len(the_json['results']), 1) self.assertEquals(the_json['results'][0]['id'], self.site.id) response = self.client.get('/api/repository/', {}, HTTP_X_REQUESTED_WITH='XMLHttpRequest') self.assertEquals(response.status_code, 200) the_json = loads(response.content.decode('utf-8')) self.assertEquals(the_json['results'][0]['id'], self.repository.id) # update fails response = self.client.post('/api/site/', { 'id': self.site.id, 'title': 'Foo' }, HTTP_X_REQUESTED_WITH='XMLHttpRequest') self.assertEquals(response.status_code, 403) def test_create(self): self.client.login(username=self.user.username, password='******') data = { 'title': 'Foo', 'place': [{ 'title': 'Bar', 'latlng': { 'lat': 5, 'lng': 6 } }] } response = self.client.post('/api/site/', dumps(data), content_type="application/json", HTTP_X_REQUESTED_WITH='XMLHttpRequest') self.assertEquals(response.status_code, 201) site = LearningSite.objects.get(title='Foo') self.assertEquals(site.place.first().title, 'Bar') def test_update(self): self.client.login(username=self.user.username, password='******') data = { 'id': self.site.id, 'title': 'Foo', 'place': [{ 'title': 'Bar', 'latlng': { 'lat': 5, 'lng': 6 } }], 'established': '', 'defunct': '' } response = self.client.put('/api/site/{}/'.format(self.site.id), dumps(data), content_type="application/json", HTTP_X_REQUESTED_WITH='XMLHttpRequest') self.assertEquals(response.status_code, 200) self.site.refresh_from_db() self.assertEquals(self.site.title, 'Foo') def test_family(self): parent = LearningSiteFactory() sib = LearningSiteFactory() sib2 = LearningSiteFactory() LearningSiteRelationshipFactory(site_one=parent, site_two=sib) LearningSiteRelationshipFactory(site_one=sib2, site_two=parent) family = LearningSiteFamilySerializer().get_family(parent) self.assertEquals(len(family), 2) self.assertEquals(family[0]['id'], sib.id) self.assertEquals(family[0]['relationship'], 'associate') self.assertEquals(family[1]['id'], sib2.id) self.assertEquals(family[1]['relationship'], 'associate')
def setUp(self): self.site = LearningSiteFactory() site = LearningSiteFactory() self.url = reverse('site-update-view', kwargs={'pk': site.id})
def test_empty_relationships(self): site = LearningSiteFactory() self.assertFalse(site.has_connections())
def setUp(self): self.site = LearningSiteFactory() self.url = reverse('digital-object-create-view', kwargs={'parent': self.site.id})