def test_intervention_filter(self): self.login() model = self.factory._meta.model # We will filter by this year year = 2014 good_date_year = datetime.datetime(year=year, month=2, day=2) bad_date_year = datetime.datetime(year=year + 2, month=2, day=2) # Bad topology/infrastructure: No intervention self.factory() # Bad signage: intervention with wrong year bad_topo = self.factory() InterventionFactory(topology=bad_topo, date=bad_date_year) # Good signage: intervention with the good year good_topo = self.factory() InterventionFactory(topology=good_topo, date=good_date_year) data = { 'intervention_year': year } response = self.client.get(model.get_jsonlist_url(), data) self.assertEqual(response.status_code, 200) topo_pk = json.loads(response.content)['map_obj_pk'] self.assertItemsEqual(topo_pk, [good_topo.pk])
def test_intervention_filter(self): model = self.factory._associated_class user = PathManagerFactory(password='******') success = self.client.login(username=user.username, password='******') self.assertTrue(success) # We will filter by this year year_idx, year = self.filterset.declared_filters[ 'intervention_year'].get_choices()[1] good_date_year = datetime.datetime(year=year, month=2, day=2) bad_date_year = datetime.datetime(year=year + 2, month=2, day=2) # Bad topology/infrastructure: No intervention self.factory() # Bad signage: intervention with wrong year bad_topo = self.factory() InterventionFactory(topology=bad_topo, date=bad_date_year) # Good signage: intervention with the good year good_topo = self.factory() InterventionFactory(topology=good_topo, date=good_date_year) data = {'intervention_year': year_idx} response = self.client.get(model.get_jsonlist_url(), data) self.assertEqual(response.status_code, 200) topo_pk = json.loads(response.content)['map_obj_pk'] self.assertItemsEqual(topo_pk, [good_topo.pk])
def test_duplicate_implantation_year_filter(self): self.login() model = self.factory._meta.model # We will check if this year = 2014 year_t = datetime.datetime(year=year, month=2, day=2) # Bad signage: intervention with wrong year topo_1 = self.factory() InterventionFactory(target=topo_1, date=year_t) # Good signage: intervention with the good year topo_2 = self.factory() InterventionFactory(target=topo_2, date=year_t) response = self.client.get(model.get_list_url()) self.assertContains(response, '<option value="2014">2014</option>', count=1)
def test_trail_helpers(self): t = TrailFactory.create() self.assertEqual(0, len(t.interventions)) p = PathFactory.create() t.paths.add(p) topo = TopologyFactory.create(no_path=True) topo.add_path(p) i = InterventionFactory(topology=topo) self.assertEqual(1, len(t.interventions)) self.assertItemsEqual([i], t.interventions)