def test_import_routes_txt_duplicate(self): routes_txt = StringIO("""\ route_id,route_short_name,route_long_name,route_type AB,10,Airport - Bullfrog,3 AB,11,Airport Party Bus,3 """) Route.import_txt(routes_txt, self.feed) route = Route.objects.get() # Just one self.assertEqual(route.feed, self.feed) self.assertEqual(route.route_id, 'AB') self.assertEqual(route.short_name, '10')
def test_import_routes_txt_minimal(self): routes_txt = StringIO.StringIO("""\ route_id,route_short_name,route_long_name,route_type AB,10,Airport - Bullfrog,3 """) Route.import_txt(routes_txt, self.feed) route = Route.objects.get() self.assertEqual(route.feed, self.feed) self.assertEqual(route.route_id, 'AB') self.assertEqual(route.agency, None) self.assertEqual(route.short_name, '10') self.assertEqual(route.long_name, 'Airport - Bullfrog') self.assertEqual(route.desc, '') self.assertEqual(route.rtype, 3) self.assertEqual(route.url, '') self.assertEqual(route.color, '') self.assertEqual(route.text_color, '')
def test_export_routes_txt_minimal(self): Route.objects.create( feed=self.feed, route_id='AB', short_name='10', long_name='Airport - Bullfrog', rtype=3) routes_txt = Route.export_txt(self.feed) self.assertEqual(routes_txt, """\ route_id,route_short_name,route_long_name,route_type AB,10,Airport - Bullfrog,3 """)
def test_import_routes_txt_maximal(self): routes_txt = StringIO.StringIO("""\ route_id,agency_id,route_short_name,route_long_name,route_desc,route_type,\ route_url,route_color,route_text_color AB,DTA,10,Airport - Bullfrog,"Our Airport Route", 3,http://example.com,\ 00FFFF,000000 """) agency = Agency.objects.create(feed=self.feed, agency_id='DTA') Route.import_txt(routes_txt, self.feed) route = Route.objects.get() self.assertEqual(route.feed, self.feed) self.assertEqual(route.route_id, 'AB') self.assertEqual(route.agency, agency) self.assertEqual(route.short_name, '10') self.assertEqual(route.long_name, 'Airport - Bullfrog') self.assertEqual(route.desc, 'Our Airport Route') self.assertEqual(route.rtype, 3) self.assertEqual(route.url, 'http://example.com') self.assertEqual(route.color, '00FFFF') self.assertEqual(route.text_color, '000000')
def test_export_routes_txt_minimal(self): Route.objects.create(feed=self.feed, route_id='AB', short_name='10', long_name='Airport - Bullfrog', rtype=3) routes_txt = Route.export_txt(self.feed) self.assertEqual( routes_txt, """\ route_id,route_short_name,route_long_name,route_type AB,10,Airport - Bullfrog,3 """)
def new_route(request, **kwargs): if request.method == 'POST': try: # Build route_id request_params = request.POST.dict() # prepend zeros to the route number request_params['route-number'] = request_params[ 'route-number'].zfill(4) route_mask = "{corridor}{first-level-branch}{second-level-branch}{route-number}{gazetted}{inbound}" params = { 'route_id': route_mask.format(**request_params), 'short_name': request_params.get('route-number'), 'desc': request_params.get('description'), 'rtype': request_params.get('route-type'), 'agency_id': kwargs.get('agency_id'), 'feed_id': kwargs.get('feed_id') } route = Route(**params) route.save() route.refresh_from_db() # add the newly generated route_id to kwargs kwargs['pk'] = route.id return http.HttpResponseRedirect( reverse('route_detail', kwargs=kwargs)) except Exception as e: kwargs['alert_type'] = 'alert-danger' kwargs[ 'error_message'] = 'An error occurred while processing your request' return render(request, 'myapp/new-route.html', kwargs)
def test_export_routes_txt_maximal(self): agency = Agency.objects.create(feed=self.feed, agency_id='DTA') Route.objects.create( feed=self.feed, agency=agency, route_id='AB', short_name='10', long_name='Airport - Bullfrog', desc='Our Airport Route', rtype=3, url='http://example.com', color='00FFFF', text_color='000000') routes_txt = Route.export_txt(self.feed) self.assertEqual(routes_txt, """\ route_id,agency_id,route_short_name,route_long_name,route_desc,route_type,\ route_url,route_color,route_text_color AB,DTA,10,Airport - Bullfrog,Our Airport Route,3,http://example.com,\ 00FFFF,000000 """)
def test_export_routes_txt_maximal(self): agency = Agency.objects.create(feed=self.feed, agency_id='DTA') Route.objects.create(feed=self.feed, agency=agency, route_id='AB', short_name='10', long_name='Airport - Bullfrog', desc='Our Airport Route', rtype=3, url='http://example.com', color='00FFFF', text_color='000000') routes_txt = Route.export_txt(self.feed) self.assertEqual( routes_txt, """\ route_id,agency_id,route_short_name,route_long_name,route_desc,route_type,\ route_url,route_color,route_text_color AB,DTA,10,Airport - Bullfrog,Our Airport Route,3,http://example.com,\ 00FFFF,000000 """)
def test_export_routes_txt_none(self): routes_txt = Route.export_txt(self.feed) self.assertFalse(routes_txt)