def setUpTestData(cls): translation.activate('fr') cls.flatpage = FlatPageFactory.create(published_fr=True) FlatPageFactory.create(published_fr=True) cls.administrator = User.objects.create(username="******", is_superuser=True, is_staff=True, is_active=True) cls.administrator.set_password('administrator') cls.administrator.save() cls.administrator.refresh_from_db()
def test_media_returns_all_images_attributes(self): html = u""" <h1>One page</h1> <body><p>Yéâh</p> <img src="/media/image1.png" title="Image 1" alt="image-1"/> <img src="/media/image2.jpg"/> <img title="No src"/> </body> """ page = FlatPageFactory(content=html) self.assertEqual(page.parse_media(), [ {'url': '/media/image1.png', 'title': 'Image 1', 'alt': 'image-1', 'mimetype': ['image', 'png']}, {'url': '/media/image2.jpg', 'title': '', 'alt': '', 'mimetype': ['image', 'jpeg']} ])
def test_media_returns_all_images_attributes(self): html = u""" <h1>One page</h1> <body><p>Yéâh</p> <img src="/media/image1.png" title="Image 1" alt="image-1"/> <img src="/media/image2.jpg"/> <img title="No src"/> </body> """ page = FlatPageFactory(content=html) self.assertEqual( page.parse_media(), [ {"url": "/media/image1.png", "title": "Image 1", "alt": "image-1", "mimetype": ["image", "png"]}, {"url": "/media/image2.jpg", "title": "", "alt": "", "mimetype": ["image", "jpeg"]}, ], )
def test_retrieve_by_order(self): try: fp = FlatPageFactory.create_batch(5) for index, flatpage in enumerate(FlatPage.objects.all()): if index == 0: continue self.assertGreater(flatpage.order, int(fp[index - 1].order)) finally: for f in fp: f.clean()
def test_retrieve_by_id_if_order_is_the_same(self): try: fp = FlatPageFactory.create_batch(5, order=0) for index, flatpage in enumerate(FlatPage.objects.all()): if index == 0: continue self.assertGreater(flatpage.id, fp[index - 1].id) finally: for f in fp: f.clean()
def test_publication_date_is_filled_if_published(self): fp = FlatPageFactory() fp.save() self.assertIsNone(fp.publication_date) fp.published = True fp.save() self.assertIsNotNone(fp.publication_date)
def setUpClass(cls): super(SyncTestPortal, cls).setUpClass() cls.source_a = RecordSourceFactory() cls.source_b = RecordSourceFactory() cls.portal_a = TargetPortalFactory() cls.portal_b = TargetPortalFactory() FlatPageFactory.create(published=True, sources=(cls.source_a,)) FlatPageFactory.create(portals=(cls.portal_a, cls.portal_b), published=True) FlatPageFactory.create(published=True, sources=(cls.source_b,)) FlatPageFactory.create(portals=(cls.portal_a,), published=True)
def setUpClass(cls): super(SyncMobileFlatpageTest, cls).setUpClass() translation.deactivate() cls.portals = [] cls.portal_a = TargetPortalFactory() cls.portal_b = TargetPortalFactory() cls.source_a = RecordSourceFactory() cls.source_b = RecordSourceFactory() FlatPageFactory.create(published=True) FlatPageFactory.create(portals=(cls.portal_a, cls.portal_b), published=True) FlatPageFactory.create(published=True) FlatPageFactory.create(portals=(cls.portal_a, ), published=True)
def setUpClass(cls): super(SyncMobileFlatpageTest, cls).setUpClass() translation.deactivate() cls.portals = [] cls.portal_a = TargetPortalFactory() cls.portal_b = TargetPortalFactory() cls.source_a = RecordSourceFactory() cls.source_b = RecordSourceFactory() FlatPageFactory.create(published=True) FlatPageFactory.create(portals=(cls.portal_a, cls.portal_b), published=True) FlatPageFactory.create(published=True) FlatPageFactory.create(portals=(cls.portal_a,), published=True)
def test_sync_flatpage_lang(self): output = StringIO() FlatPageFactory.create(published_fr=True) FlatPageFactory.create(published_en=True) FlatPageFactory.create(published_es=True) management.call_command('sync_mobile', 'tmp', url='http://localhost:8000', skip_tiles=True, verbosity=2, stdout=output) for lang in settings.MODELTRANSLATION_LANGUAGES: with open(os.path.join('tmp', lang, 'flatpages.json'), 'r') as f: flatpages = json.load(f) self.assertEqual(len(flatpages), FlatPage.objects.filter(**{'published_{}'.format(lang): True}).count()) self.assertIn('en/flatpages.json', output.getvalue())
def test_sync_flatpage_lang(self): output = BytesIO() FlatPageFactory.create(published_fr=True) FlatPageFactory.create(published_en=True) FlatPageFactory.create(published_es=True) management.call_command('sync_mobile', 'tmp', url='http://localhost:8000', skip_tiles=True, verbosity=2, stdout=output) for lang in settings.MODELTRANSLATION_LANGUAGES: with open(os.path.join('tmp', lang, 'flatpages.json'), 'r') as f: flatpages = json.load(f) self.assertEquals(len(flatpages), FlatPage.objects.filter(**{'published_{}'.format(lang): True}).count()) self.assertIn('en/flatpages.json', output.getvalue())
def setUpTestData(cls): translation.activate('fr') cls.flatpage = FlatPageFactory.create(published_fr=True) FlatPageFactory.create(published_fr=True)
def test_is_public(self): fp = FlatPageFactory(title="Blabla", published_fr=True) self.assertTrue(fp.is_public())
def setUpClass(cls): super(SyncMobileSpecificOptionsTest, cls).setUpClass() FlatPageFactory.create(published_fr=True) FlatPageFactory.create(published_en=True)
def test_media_is_empty_if_content_is_none(self): page = FlatPageFactory() self.assertEqual(page.parse_media(), [])
def test_slug_is_taken_from_title(self): fp = FlatPageFactory(title="C'est pour toi") self.assertEquals(fp.slug, 'cest-pour-toi')
def test_validation_does_not_fail_if_url_and_content_are_falsy(self): fp = FlatPageFactory(external_url=" ", content="<p></p>") fp.clean()
def setUp(self): FlatPageFactory.create_batch(10, published=True) FlatPageFactory.create(published=False)
def setUp(self): FlatPageFactory.create_batch(10)
def test_media_is_empty_if_content_has_no_image(self): page = FlatPageFactory(content="""<h1>One page</h1><body>One looove</body>""") self.assertEqual(page.parse_media(), [])
def test_flatpages_are_updatable(self): self.login() page = FlatPageFactory(content="One looove") response = self.client.get( '/admin/flatpages/flatpage/{0}/change/'.format(page.pk)) self.assertContains(response, "One looove")
def test_validation_fails_if_both_url_and_content_are_in_any_language( self): fp = FlatPageFactory(external_url="http://geotrek.fr", content_it="<p>Boom!</p>") self.assertRaises(ValidationError, fp.clean)
def test_target_is_all_by_default(self): fp = FlatPageFactory() self.assertEquals(fp.target, 'all')
def test_validation_does_not_fail_if_url_is_none(self): fp = FlatPageFactory(external_url=None, content="<p></p>") fp.clean()
def test_media_is_empty_if_content_has_no_image(self): page = FlatPageFactory( content="""<h1>One page</h1><body>One looove</body>""") self.assertEqual(page.parse_media(), [])