def test_creation_form_on_infrastructure_with_errors(self): self.login() if settings.TREKKING_TOPOLOGY_ENABLED: infra = InfrastructureFactory.create() else: infra = InfrastructureFactory.create( geom='SRID=2154;POINT (700000 6600000)') infrastr = "%s" % infra response = self.client.get( '%s?target_id=%s&target_type=%s' % (Intervention.get_add_url(), infra.pk, ContentType.objects.get_for_model(Infrastructure).pk)) self.assertEqual(response.status_code, 200) self.assertContains(response, infrastr) data = self.get_good_data() # If form invalid, it should not fail data.pop('status') response = self.client.post( '%s?target_id=%s&target_type=%s' % (Intervention.get_add_url(), infra.pk, ContentType.objects.get_for_model(Infrastructure).pk), data) self.assertEqual(response.status_code, 200)
def test_creation_form_on_signage(self): self.login() if settings.TREKKING_TOPOLOGY_ENABLED: signa = SignageFactory.create() else: signa = SignageFactory.create(geom='SRID=2154;POINT (700000 6600000)') signage = "%s" % signa response = self.client.get('%s?target_id=%s&target_type=%s' % (Intervention.get_add_url(), signa.pk, ContentType.objects.get_for_model(Signage).pk )) self.assertEqual(response.status_code, 200) self.assertContains(response, signage) form = response.context['form'] self.assertEqual(form.initial['target_id'], str(signa.pk)) # Should be able to save form successfully data = self.get_good_data() data['target_id'] = signa.pk response = self.client.post('%s?target_id=%s&target_type=%s' % (Intervention.get_add_url(), signa.pk, ContentType.objects.get_for_model(Signage).pk ), data) self.assertEqual(response.status_code, 302)
def test_creation_form_on_infrastructure(self): self.login() infra = InfrastructureFactory.create() infrastr = u"%s" % infra response = self.client.get(Intervention.get_add_url() + '?infrastructure=%s' % infra.pk) self.assertEqual(response.status_code, 200) self.assertContains(response, infrastr) form = response.context['form'] self.assertEqual(form.initial['infrastructure'], infra) # Should be able to save form successfully data = self.get_good_data() data['infrastructure'] = infra.pk response = self.client.post(Intervention.get_add_url() + '?infrastructure=%s' % infra.pk, data) self.assertEqual(response.status_code, 302)
def test_creation_form_on_signage(self): self.login() signa = SignageFactory.create() signage = u"%s" % signa response = self.client.get(Intervention.get_add_url() + '?signage=%s' % signa.pk) self.assertEqual(response.status_code, 200) self.assertContains(response, signage) form = response.context['form'] self.assertEqual(form.initial['signage'], signa) # Should be able to save form successfully data = self.get_good_data() data['signage'] = signa.pk response = self.client.post(Intervention.get_add_url() + '?signage=%s' % signa.pk, data) self.assertEqual(response.status_code, 302)
def test_update_form_on_infrastructure(self): self.login() if settings.TREKKING_TOPOLOGY_ENABLED: infra = InfrastructureFactory.create() else: infra = InfrastructureFactory.create( geom='SRID=2154;POINT (700000 6600000)') infrastr = "%s" % infra intervention = InterventionFactory.create(target=infra) response = self.client.get(intervention.get_update_url()) self.assertEqual(response.status_code, 200) self.assertContains(response, infrastr) # Should be able to save form successfully form = response.context['form'] data = form.initial data['disorders'] = data['disorders'][0].pk data['project'] = '' data.update( **{ 'manday_set-TOTAL_FORMS': '0', 'manday_set-INITIAL_FORMS': '0', 'manday_set-MAX_NUM_FORMS': '', }) # Form URL is modified in form init formurl = '%s?target_id=%s&target_type=%s' % (Intervention.get_add_url( ), infra.pk, ContentType.objects.get_for_model(Infrastructure).pk) response = self.client.post(formurl, data) self.assertEqual(response.status_code, 302)
def test_creation_form_on_signage(self): self.login() signa = SignageFactory.create() signage = u"%s" % signa response = self.client.get(Intervention.get_add_url() + '?signage=%s' % signa.pk) self.assertEqual(response.status_code, 200) self.assertContains(response, signage) form = response.context['form'] self.assertEqual(form.initial['signage'], signa) # Should be able to save form successfully data = self.get_good_data() data['signage'] = signa.pk response = self.client.post( Intervention.get_add_url() + '?signage=%s' % signa.pk, data) self.assertEqual(response.status_code, 302)
def test_creation_form_on_infrastructure_with_errors(self): self.login() infra = InfrastructureFactory.create() infrastr = u"%s" % infra response = self.client.get(Intervention.get_add_url() + '?infrastructure=%s' % infra.pk) self.assertEqual(response.status_code, 200) self.assertContains(response, infrastr) form = response.context['form'] self.assertEqual(form.initial['infrastructure'], infra) data = self.get_good_data() data['infrastructure'] = infra.pk # If form invalid, it should not fail data.pop('status') response = self.client.post(Intervention.get_add_url() + '?infrastructure=%s' % infra.pk, data) self.assertEqual(response.status_code, 200)
def test_structurerelated_not_loggedin(self): # Test that it does not fail on update if not logged in self.client.logout() response = self.client.get(Intervention.get_add_url()) self.assertEqual(response.status_code, 302) i = InterventionFactory.create() response = self.client.get(i.get_update_url()) self.assertEqual(response.status_code, 302)
def test_creation_form_on_infrastructure(self): self.login() if settings.TREKKING_TOPOLOGY_ENABLED: infra = InfrastructureFactory.create() else: infra = InfrastructureFactory.create(geom='SRID=2154;POINT (700000 6600000)') response = self.client.get('%s?target_id=%s&target_type=%s' % (Intervention.get_add_url(), infra.pk, ContentType.objects.get_for_model(Infrastructure).pk)) self.assertEqual(response.status_code, 200) # Should be able to save form successfully data = self.get_good_data() response = self.client.post('%s?target_id=%s&target_type=%s' % (Intervention.get_add_url(), infra.pk, ContentType.objects.get_for_model(Infrastructure).pk), data) self.assertEqual(response.status_code, 302)
def test_creation_form_on_signage_with_errors(self): self.login() signa = SignageFactory.create() signage = u"%s" % signa response = self.client.get(Intervention.get_add_url() + '?signage=%s' % signa.pk) self.assertEqual(response.status_code, 200) self.assertContains(response, signage) form = response.context['form'] self.assertEqual(form.initial['signage'], signa) data = self.get_good_data() data['signage'] = signa.pk # If form invalid, it should not fail data.pop('status') response = self.client.post(Intervention.get_add_url() + '?signage=%s' % signa.pk, data) self.assertEqual(response.status_code, 200)
def test_creation_form_on_signage_with_errors(self): self.login() signa = SignageFactory.create() signage = u"%s" % signa response = self.client.get(Intervention.get_add_url() + '?signage=%s' % signa.pk) self.assertEqual(response.status_code, 200) self.assertContains(response, signage) form = response.context['form'] self.assertEqual(form.initial['signage'], signa) data = self.get_good_data() data['signage'] = signa.pk # If form invalid, it should not fail data.pop('status') response = self.client.post( Intervention.get_add_url() + '?signage=%s' % signa.pk, data) self.assertEqual(response.status_code, 200)
def test_creation_form_on_infrastructure(self): self.login() if settings.TREKKING_TOPOLOGY_ENABLED: infra = InfrastructureFactory.create() else: infra = InfrastructureFactory.create( geom='SRID=2154;POINT (700000 6600000)') infrastr = "%s" % infra response = self.client.get(Intervention.get_add_url() + '?infrastructure=%s' % infra.pk) self.assertEqual(response.status_code, 200) self.assertContains(response, infrastr) form = response.context['form'] self.assertEqual(form.initial['infrastructure'], infra) # Should be able to save form successfully data = self.get_good_data() data['infrastructure'] = infra.pk response = self.client.post( Intervention.get_add_url() + '?infrastructure=%s' % infra.pk, data) self.assertEqual(response.status_code, 302)
def test_creation_form_line(self): path = PathFactory.create(geom=LineString(Point(700000, 6600000), Point(700300, 6600300), srid=settings.SRID)) self.super_user = SuperUserFactory.create(username='******', password='******') self.client.login(username='******', password='******') data = self.get_good_data() data['structure'] = StructureFactory.create().pk data['topology'] = '{"paths": [%s], "positions":{"0":[0,1]}}' % path.pk, response = self.client.post('%s' % (Intervention.get_add_url()), data) self.assertEqual(PathAggregation.objects.count(), 1) self.assertEqual(response.status_code, 302) self.assertEqual(Intervention.objects.first().geom, path.geom) self.assertEqual(Intervention.objects.first().target.kind, 'INTERVENTION')
def test_form_default_stake(self): self.login() good_data = self.get_good_data() good_data['stake'] = '' good_data['topology'] = """ {"offset":0,"positions":{"0":[0.8298653170816073,1],"2":[0,0.04593024777973237]},"paths":[%s,%s,%s]} """ % (PathFactory.create().pk, PathFactory.create().pk, PathFactory.create().pk) response = self.client.post(Intervention.get_add_url(), good_data) self.assertEqual(response.status_code, 302) response = self.client.get(response._headers['location'][1]) self.assertTrue('object' in response.context) intervention = response.context['object'] self.assertFalse(intervention.stake is None)
def test_form_on_infrastructure(self): self.login() infra = InfrastructureFactory.create() infrastr = u"%s" % infra # For creation response = self.client.get(Intervention.get_add_url() + '?infrastructure=%s' % infra.pk) self.assertEqual(response.status_code, 200) self.assertContains(response, infrastr) # For edition intervention = InterventionFactory.create() intervention.set_infrastructure(infra) response = self.client.get(infra.get_update_url()) self.assertEqual(response.status_code, 200) self.assertContains(response, infrastr)
def test_creation_form_on_infrastructure_with_errors(self): self.login() if settings.TREKKING_TOPOLOGY_ENABLED: infra = InfrastructureFactory.create() else: infra = InfrastructureFactory.create( geom='SRID=2154;POINT (700000 6600000)') infrastr = "%s" % infra response = self.client.get(Intervention.get_add_url() + '?infrastructure=%s' % infra.pk) self.assertEqual(response.status_code, 200) self.assertContains(response, infrastr) form = response.context['form'] self.assertEqual(form.initial['infrastructure'], infra) data = self.get_good_data() data['infrastructure'] = infra.pk # If form invalid, it should not fail data.pop('status') response = self.client.post( Intervention.get_add_url() + '?infrastructure=%s' % infra.pk, data) self.assertEqual(response.status_code, 200)
def test_disorders_not_mandatory(self): self.login() data = self.get_good_data() data.pop('disorders') response = self.client.post(Intervention.get_add_url(), data) self.assertEqual(response.status_code, 302)