def test_filter_out_district(self): filter = ProjectFilterSet( data={'district': [DistrictFactory.create(geom=self.geom_zoning)]}) project_out = ProjectFactory.create() project_out.interventions.add(self.intervention_out) self.assertTrue(filter.is_valid()) self.assertEqual(len(filter.qs), 0)
def test_filter_by_year(self): project = ProjectFactory.create(begin_year=2015, end_year=2017) ProjectFactory.create(begin_year=2011, end_year=2013) filterset = ProjectFilterSet(data={'year': [2016]}) self.assertTrue(filterset.is_valid(), filterset.errors) self.assertEqual(len(filterset.qs), 1) self.assertEqual(filterset.qs[0], project)
def test_filter_in_city(self): filter = ProjectFilterSet( data={'city': [CityFactory.create(geom=self.geom_zoning)]}) project_in = ProjectFactory.create() project_in.interventions.add(self.intervention_in) self.assertTrue(filter.is_valid()) self.assertIn(project_in, filter.qs) self.assertEqual(len(filter.qs), 1)
def test_filter_by_signage_management_edge(self): edge = SignageManagementEdgeFactory(paths=[self.seek_path]) # filter by organization data = {'signage': [edge.organization.pk]} qs = ProjectFilterSet(data=data).qs self.assertEqual(len(qs), 1) self.assertEqual(qs[0], self.seek_proj)
def test_filter_by_competence_edge(self): edge = CompetenceEdgeFactory(paths=[self.seek_path]) # filter by organization data = {'competence': [edge.organization.pk]} qs = ProjectFilterSet(data=data).qs self.assertEqual(len(qs), 1) self.assertEqual(qs[0], self.seek_proj)
def test_filter_by_land_edge(self): edge = LandEdgeFactory(paths=[self.seek_path]) # filter by land type data = {'land_type': [edge.land_type.pk]} qs = ProjectFilterSet(data=data).qs self.assertEqual(len(qs), 1) self.assertEqual(qs[0], self.seek_proj)
def test_filter_by_physical_edge(self): edge = PhysicalEdgeFactory(paths=[self.seek_path]) # filter by physical type data = {'physical_type': [edge.physical_type.pk]} qs = ProjectFilterSet(data=data).qs self.assertEqual(len(qs), 1) self.assertEqual(qs[0], self.seek_proj)
def test_filter_by_signage_management_edge(self): seek_proj, seek_path = self.create_pair_of_distinct_by_topo_project() edge = SignageManagementEdgeFactory(no_path=True) PathAggregationFactory.create(topo_object=edge, path=seek_path, start_position=0, end_position=1) edge.reload() # filter by organization data = {'signage': edge.organization.pk} qs = ProjectFilterSet(data=data).qs self.assertEqual(len(qs), 1) self.assertEqual(qs[0], seek_proj)
def test_filter_by_land_edge(self): seek_proj, seek_path = self.create_pair_of_distinct_by_topo_project() edge = LandEdgeFactory(no_path=True) PathAggregationFactory.create(topo_object=edge, path=seek_path, start_position=0, end_position=1) edge.reload() # filter by land type data = {'land_type': edge.land_type.pk} qs = ProjectFilterSet(data=data).qs self.assertEqual(len(qs), 1) self.assertEqual(qs[0], seek_proj)
def setUp(self): ProjectFactory.create(begin_year=1500, end_year=2000) ProjectFactory.create(begin_year=1700, end_year=1800) self.filter = ProjectFilterSet() self.widget = self.filter.filters['year'].field.widget
def test_filter_year_with_string(self): filter = ProjectFilterSet(data={'year': 'toto'}) p = ProjectFactory.create(begin_year=1200, end_year=1300) self.assertIn(p, filter.qs) self.assertEqual(len(filter.qs), 3)
def test_new_projects_can_be_filtered_on_new_years(self): filter = ProjectFilterSet(data={'in_year': 1250}) p = ProjectFactory.create(begin_year=1200, end_year=1300) self.assertIn(p, filter.qs) self.assertEqual(len(filter.qs), 1)