def test_published_children_by_lang(self): parent = SiteFactory(name='parent') SiteFactory(name='child1', parent=parent, published=False) SiteFactory(name='child2', parent=parent, published_en=True) SiteFactory(name='child3', parent=parent, published_fr=True) self.assertQuerysetEqual(parent.published_children, ['<Site: child2>', '<Site: child3>'])
def test_public_document_pdf(self, mocked): site = SiteFactory.create(published=True) url = '/api/en/sites/{pk}/slug.pdf'.format(pk=site.pk) mocked.return_value.status_code = 200 mocked.return_value.content = PNG_BLACK_PIXEL response = self.client.get(url) self.assertEqual(response.status_code, 200)
def setUpTestData(cls): cls.alone = SiteFactory(practice=None) cls.parent = SiteFactory(practice__name='Bbb', practice__sector__name='Bxx', orientation=['N', 'S'], wind=['N', 'S']) cls.child = SiteFactory(parent=cls.parent, practice__name='Aaa', practice__sector__name='Axx', orientation=['E', 'S'], wind=['E', 'S']) cls.grandchild1 = SiteFactory(parent=cls.child, practice=cls.parent.practice, orientation=cls.parent.orientation, wind=cls.parent.wind) cls.grandchild2 = SiteFactory(parent=cls.child, practice=None, orientation=[], wind=[])
def get_good_data(self): return { 'structure': StructureFactory.create().pk, 'site': SiteFactory.create().pk, 'name_en': 'test en', 'name_fr': 'test fr', 'geom': '{"type": "GeometryCollection", "geometries": [{"type": "Point", "coordinates":[0, 0]}]}', }
def test_api_filters(self): SiteFactory.create(name='site1', published=False) SiteFactory.create(name='site2', published=True) site3 = SiteFactory.create(name='site3', published=True) site3.source.add(RecordSourceFactory.create(name='source1')) site3.portal.add(TargetPortalFactory.create(name='portal1')) response1 = self.client.get('/api/en/sites.json') self.assertEqual(len(response1.json()), 2) self.assertEqual(set((site['name'] for site in response1.json())), set(('site2', 'site3'))) response2 = self.client.get('/api/en/sites.json?source=source1') self.assertEqual(len(response2.json()), 1) self.assertEqual(response2.json()[0]['name'], 'site3') response3 = self.client.get('/api/en/sites.json?portal=portal1') self.assertEqual(len(response3.json()), 2) self.assertEqual(set((site['name'] for site in response3.json())), set(('site2', 'site3'))) response4 = self.client.get('/api/en/sites.json?portal=portalX') self.assertEqual(len(response4.json()), 1) self.assertEqual(response4.json()[0]['name'], 'site2')
def test_ratings_save(self): user = UserFactory() rating = RatingFactory() site = SiteFactory(practice=rating.scale.practice) form = SiteForm( user=user, instance=site, data={ 'name_en': 'Site', 'geom': '{"type": "GeometryCollection", "geometries": [{"type": "Point", "coordinates": [3, 45]}]}', 'practice': str(rating.scale.practice.pk), 'rating_scale_min{}'.format(rating.scale.pk): str(rating.pk), }) self.assertTrue(form.is_valid()) form.save() self.assertQuerysetEqual(site.ratings_min.all(), ['<Rating: Rating>']) self.assertQuerysetEqual(site.ratings_max.all(), [])
def setUpTestData(cls): cls.practice = PracticeFactory(name="Child practice", sector__name="Child sector") parent = SiteFactory.create(practice=None, name='Child site') SiteFactory.create(practice=cls.practice, parent=parent, name='Parent site') SiteFactory.create(name="Alone site")