Пример #1
0
class JobTests(AbstractEntityApiTestCase):

    def setUp(self):
        self.station = Station(name='MyTestStation')
        self.station.save()
        self.box = Box(station=self.station, address='My address str. 4')
        self.box.save()
        self.stand = Stand(box=self.box, name='MyStand')
        self.stand.save()
        self.service = Service(name='TestService',
                               min_duration=datetime.timedelta(minutes=30),
                               max_duration=datetime.timedelta(minutes=30),
                               min_cost=500,
                               max_cost=1000)
        self.service.save()

    def tearDown(self):
        self.station.delete()
        self.box.delete()
        self.stand.delete()
        self.service.delete()

    def _create_job(self, client, services, date_time):
        data = {
            'client': client,
            'selected_services': services,
            'date': date_time
        }
        return self._call_rest('post', 'job/', data)

    def test_job_creation(self):
        selected_services = [1, 2]
        date = '2016-01-11T03:00:07.451Z'
        client = {
            'phone': '8 999 000 0000',
            'car': {'model': 'Impreza', 'manufacturer': 'Subaru'}
        }

        job = self._create_job(client, selected_services, date)
        self.assertEqual(job.get('client'), 1)
        self.assertEqual(job.get('stand'), 1)
        self.assertEqual(job.get('date_time'), '2016-01-11T03:00:07.451000Z')

    def test_job_not_assigned_to_one_time(self):
        selected_services = [1]
        date1 = '2016-01-11T03:00:07.451Z'
        client = {
            'phone': '8-100-000-0000',
            'car': {'model': 'Impreza', 'manufacturer': 'Subaru'}
        }
        date2 = '2016-01-11T03:00:00.000Z'
        date3 = '2016-01-11T02:59:00.000Z'

        job = self._create_job(client, selected_services, date1)
        self.assertEqual(job['stand'], self.stand.id)
        job = self._create_job(client, selected_services, date2)
        self.assertEqual(job['detail'], 'No free stands for accept job')
        job = self._create_job(client, selected_services, date3)
        log.warn(job)
Пример #2
0
def add_station_view(request):
    params = json.loads(request.body)
    company_id = params.get('company')
    company = Company.objects.get(id=company_id)
    station = Station()
    station.name = params.get('name')
    station.capacity = params.get('capacity')
    station.mode = params.get('mode')
    station.is_self_consume = params.get('is_self_consume')
    station.is_self_consume_discount = params.get('is_self_consume_discount')
    station.company = company
    station.save()

    return json_response(station.to_dict())
Пример #3
0
def new_station(request):
    if request.method == 'POST':
        # save new post
        name = request.POST['name_station']
        num_station = request.POST['num_station']
        date_creation = datetime.now()

        station = Station(name=name, num_station=num_station, date_creation=date_creation)
        station.save()

        stations = Station.objects
        return HttpResponseRedirect('/')
    else:
        return render(request, 'new_station.html')
Пример #4
0
def new_station(request):
    if request.method == 'POST':
        # save new post
        name = request.POST['name_station']
        num_station = request.POST['num_station']
        date_creation = datetime.now()

        station = Station(name=name,
                          num_station=num_station,
                          date_creation=date_creation)
        station.save()

        stations = Station.objects
        return HttpResponseRedirect('/')
    else:
        return render(request, 'new_station.html')
Пример #5
0
from station.models import Station
from station.models import Location
from station.models import Observation

with open('../data/station/mesowest_csv.tbl.20130903T1304', 'r') as csvfile:
    reader = csv.reader(csvfile)
    for line in reader:
        break
        if line[0] == 'primary id':
            pass
        mesonet_id = line[0]
        station_name = line[2]
        print "Saved STATION: %s with name: %s" % (mesonet_id, station_name)        
        station = Station(mesonet_id= mesonet_id, name= station_name)
        station.save()


with open('../data/observation/mesowest.out.20130903T1304', 'r') as csvfile:
    reader = csv.reader(csvfile)
    for line in reader:
        if len(line) > 0 and len(line[0].split()) == 16 and str(line[0]).split()[0] != 'STN':
            station = str(line[0]).split()[0]
            s = str(line[0]).split()[1]
            year = int(s[:4])
            month = int(s[4:-7])
            day = int(s[6:-5])
            hour = int(s[9:-2])
            minute = int(s[11:])
            mnet = str(line[0]).split()[2]
            latitude = str(line[0]).split()[3]
Пример #6
0
class JobTests(AbstractEntityApiTestCase):
    def setUp(self):
        self.station = Station(name='MyTestStation')
        self.station.save()
        self.box = Box(station=self.station, address='My address str. 4')
        self.box.save()
        self.stand = Stand(box=self.box, name='MyStand')
        self.stand.save()
        self.service = Service(name='TestService',
                               min_duration=datetime.timedelta(minutes=30),
                               max_duration=datetime.timedelta(minutes=30),
                               min_cost=500,
                               max_cost=1000)
        self.service.save()

    def tearDown(self):
        self.station.delete()
        self.box.delete()
        self.stand.delete()
        self.service.delete()

    def _create_job(self, client, services, date_time):
        data = {
            'client': client,
            'selected_services': services,
            'date': date_time
        }
        return self._call_rest('post', 'job/', data)

    def test_job_creation(self):
        selected_services = [1, 2]
        date = '2016-01-11T03:00:07.451Z'
        client = {
            'phone': '8 999 000 0000',
            'car': {
                'model': 'Impreza',
                'manufacturer': 'Subaru'
            }
        }

        job = self._create_job(client, selected_services, date)
        self.assertEqual(job.get('client'), 1)
        self.assertEqual(job.get('stand'), 1)
        self.assertEqual(job.get('date_time'), '2016-01-11T03:00:07.451000Z')

    def test_job_not_assigned_to_one_time(self):
        selected_services = [1]
        date1 = '2016-01-11T03:00:07.451Z'
        client = {
            'phone': '8-100-000-0000',
            'car': {
                'model': 'Impreza',
                'manufacturer': 'Subaru'
            }
        }
        date2 = '2016-01-11T03:00:00.000Z'
        date3 = '2016-01-11T02:59:00.000Z'

        job = self._create_job(client, selected_services, date1)
        self.assertEqual(job['stand'], self.stand.id)
        job = self._create_job(client, selected_services, date2)
        self.assertEqual(job['detail'], 'No free stands for accept job')
        job = self._create_job(client, selected_services, date3)
        log.warn(job)