126 lines
3.3 KiB
Python
126 lines
3.3 KiB
Python
from flask import json
|
|
from app.extensions import db
|
|
from app.models.vehicle import Vehicle
|
|
from test import client
|
|
|
|
def test_list_vehicles_empty_db_empty_list(client):
|
|
rv = client.get('/vehicles')
|
|
assert len(json.loads(rv.data)) == 0
|
|
|
|
def test_list_vehicles_with_data(client):
|
|
db.session.add(Vehicle(**{
|
|
"id": 1,
|
|
"license_plate": "NY0001",
|
|
"battery_level": 90,
|
|
"in_use": True,
|
|
"model": "Niu",
|
|
"location_lat": 40.680245,
|
|
"location_long": -73.996955,
|
|
}))
|
|
db.session.commit()
|
|
rv = client.get('/vehicles')
|
|
assert len(json.loads(rv.data)) == 1
|
|
|
|
def test_get_single_vehicle(client):
|
|
db.session.add(Vehicle(**{
|
|
"id": 1,
|
|
"license_plate": "NY0002",
|
|
"battery_level": 90,
|
|
"in_use": True,
|
|
"model": "Niu",
|
|
"location_lat": 40.680245,
|
|
"location_long": -73.996955,
|
|
}))
|
|
db.session.add(Vehicle(**{
|
|
"id": 2,
|
|
"license_plate": "NY0003",
|
|
"battery_level": 95,
|
|
"in_use": True,
|
|
"model": "Niu",
|
|
"location_lat": 40.680245,
|
|
"location_long": -73.996955,
|
|
}))
|
|
db.session.commit()
|
|
|
|
rv = client.get('/vehicles')
|
|
assert len(json.loads(rv.data)) == 2
|
|
|
|
rv = client.get('/vehicles/1')
|
|
data = json.loads(rv.data)
|
|
assert data['id'] == 1
|
|
assert data['license_plate'] == 'NY0002'
|
|
|
|
def test_create_vehicles(client):
|
|
client.post('/vehicles', data={
|
|
"license_plate": "NY0003",
|
|
"battery_level": 90,
|
|
"in_use": True,
|
|
"model": "Niu",
|
|
"location_lat": 40.680245,
|
|
"location_long": -73.996955,
|
|
})
|
|
rv = client.get('/vehicles/1')
|
|
data = json.loads(rv.data)
|
|
assert data['id'] == 1
|
|
assert data['license_plate'] == 'NY0003'
|
|
|
|
client.post('/vehicles', data={
|
|
"license_plate": "NY0004",
|
|
"battery_level": 90,
|
|
"in_use": True,
|
|
"model": "Niu",
|
|
"location_lat": 40.680245,
|
|
"location_long": -73.996955,
|
|
})
|
|
rv = client.get('/vehicles/2')
|
|
data = json.loads(rv.data)
|
|
assert data['id'] == 2
|
|
assert data['license_plate'] == 'NY0004'
|
|
|
|
def test_update_vehicle(client):
|
|
client.post('/vehicles', data={
|
|
"license_plate": "NY0006",
|
|
"battery_level": 90,
|
|
"in_use": True,
|
|
"model": "Niu",
|
|
"location_lat": 40.680245,
|
|
"location_long": -73.996955,
|
|
})
|
|
rv = client.get('/vehicles/1')
|
|
data = json.loads(rv.data)
|
|
assert data['id'] == 1
|
|
assert data['license_plate'] == 'NY0006'
|
|
|
|
rv = client.post('/vehicles/1', data={
|
|
"battery_level": 85,
|
|
})
|
|
data = json.loads(rv.data)
|
|
assert data['id'] == 1
|
|
assert data['battery_level'] == 85
|
|
|
|
rv = client.get('/vehicles/1')
|
|
data = json.loads(rv.data)
|
|
assert data['battery_level'] == 85
|
|
|
|
def test_delete_vehicle(client):
|
|
client.post('/vehicles', data={
|
|
"license_plate": "NY0007",
|
|
"battery_level": 90,
|
|
"in_use": True,
|
|
"model": "Niu",
|
|
"location_lat": 40.680245,
|
|
"location_long": -73.996955,
|
|
})
|
|
rv = client.get('/vehicles/1')
|
|
data = json.loads(rv.data)
|
|
assert data['id'] == 1
|
|
assert data['license_plate'] == 'NY0007'
|
|
|
|
rv = client.delete('/vehicles/1')
|
|
data = json.loads(rv.data)
|
|
assert data == 1
|
|
|
|
rv = client.get('/vehicles')
|
|
assert len(json.loads(rv.data)) == 0
|
|
|