Update tests
This commit is contained in:
parent
515f5b3f43
commit
60ce5203ac
|
@ -8,6 +8,7 @@ from httmock import urlmatch, HTTMock
|
|||
from usda.client import UsdaClient
|
||||
from usda.tests.sample_data import \
|
||||
FOOD_LIST_DATA, NUTRIENT_LIST_DATA, \
|
||||
FOOD_GROUP_LIST_DATA, DERIVATION_CODES_LIST_DATA, \
|
||||
FOOD_REPORT_DATA, NUTRIENT_REPORT_DATA, \
|
||||
FOOD_SEARCH_DATA
|
||||
|
||||
|
@ -21,6 +22,10 @@ class TestClient(object):
|
|||
return json.dumps(FOOD_LIST_DATA)
|
||||
elif "lt=n" in uri.query:
|
||||
return json.dumps(NUTRIENT_LIST_DATA)
|
||||
elif "lt=g" in uri.query:
|
||||
return json.dumps(FOOD_GROUP_LIST_DATA)
|
||||
elif "lt=d" in uri.query:
|
||||
return json.dumps(DERIVATION_CODES_LIST_DATA)
|
||||
|
||||
@urlmatch(path=r'/usda/ndb/reports')
|
||||
def api_report(self, uri, request):
|
||||
|
@ -72,6 +77,32 @@ class TestClient(object):
|
|||
assert nutrients[0].name == "Calcium"
|
||||
assert nutrients[1].name == "Lactose"
|
||||
|
||||
def test_client_list_food_groups_raw(self, apimock):
|
||||
cli = UsdaClient("API_KAY")
|
||||
with apimock:
|
||||
groups = list(cli.list_food_groups_raw(max=5))
|
||||
assert groups == FOOD_GROUP_LIST_DATA['list']['item']
|
||||
|
||||
def test_client_list_food_groups(self, apimock):
|
||||
cli = UsdaClient("API_KAY")
|
||||
with apimock:
|
||||
groups = list(cli.list_food_groups(5))
|
||||
assert groups[0].name == "Dairy and Eggs Products"
|
||||
assert groups[1].name == "Baby Foods"
|
||||
|
||||
def test_client_list_derivation_codes_raw(self, apimock):
|
||||
cli = UsdaClient("API_KAY")
|
||||
with apimock:
|
||||
codes = list(cli.list_derivation_codes_raw(max=5))
|
||||
assert codes == DERIVATION_CODES_LIST_DATA['list']['item']
|
||||
|
||||
def test_client_list_derivation_codes(self, apimock):
|
||||
cli = UsdaClient("API_KAY")
|
||||
with apimock:
|
||||
codes = list(cli.list_derivation_codes(5))
|
||||
assert codes[0].name == "Analytical data"
|
||||
assert codes[1].name == "Analytical data; derived by linear regression"
|
||||
|
||||
def test_client_food_report_raw(self, apimock):
|
||||
cli = UsdaClient("API_KAY")
|
||||
with apimock:
|
||||
|
|
|
@ -38,11 +38,11 @@ class TestUsdaDomain(object):
|
|||
def test_nutrient(self):
|
||||
"""Tests for Nutrient class"""
|
||||
data = {
|
||||
"id": 42,
|
||||
"id": "42",
|
||||
"name": "Lactose"
|
||||
}
|
||||
n = Nutrient.from_response_data(data)
|
||||
assert n.id == 42
|
||||
assert n.id == "42"
|
||||
assert n.name == "Lactose"
|
||||
assert repr(n) == "Nutrient ID 42 'Lactose'"
|
||||
assert str(n) == "Lactose"
|
||||
|
@ -50,11 +50,11 @@ class TestUsdaDomain(object):
|
|||
def test_food(self):
|
||||
"""Tests for Food class"""
|
||||
data = {
|
||||
"id": 123456,
|
||||
"id": "123456",
|
||||
"name": "Pizza"
|
||||
}
|
||||
f = Food.from_response_data(data)
|
||||
assert f.id == 123456
|
||||
assert f.id == "123456"
|
||||
assert f.name == "Pizza"
|
||||
assert repr(f) == "Food ID 123456 'Pizza'"
|
||||
assert str(f) == "Pizza"
|
||||
|
@ -65,12 +65,12 @@ class TestUsdaDomain(object):
|
|||
assert fr.report_type == "Basic"
|
||||
assert fr.foot_notes == ["Footnote 1", "Footnote 2"]
|
||||
assert fr.food_group is None
|
||||
assert fr.food.id == 123456
|
||||
assert fr.food.id == "123456"
|
||||
assert fr.food.name == "Pizza"
|
||||
assert repr(fr) == "Food Report for 'Food ID 123456 'Pizza''"
|
||||
assert repr(fr) == "FoodReport for Food ID 123456 'Pizza'"
|
||||
assert len(fr.nutrients) == 1
|
||||
n = fr.nutrients[0]
|
||||
assert n.id == 42
|
||||
assert n.id == "42"
|
||||
assert n.name == "Lactose"
|
||||
assert n.group == "Proximates"
|
||||
assert n.unit == "g"
|
||||
|
@ -86,18 +86,18 @@ class TestUsdaDomain(object):
|
|||
"""Tests for NutrientReport class"""
|
||||
nrf = NutrientReportFood.from_response_data(
|
||||
NUTRIENT_REPORT_DATA['report']['foods'][0])
|
||||
assert nrf.id == 42
|
||||
assert nrf.id == "42"
|
||||
assert nrf.name == "Pizza with pineapple"
|
||||
assert nrf.nutrients[0].id == 42
|
||||
assert nrf.nutrients[0].id == "42"
|
||||
assert nrf.nutrients[0].name == "Lactose"
|
||||
assert nrf.nutrients[0].unit == "g"
|
||||
assert nrf.nutrients[0].value == 26
|
||||
assert nrf.nutrients[0].value == 26.0
|
||||
assert len(nrf.nutrients[0].measures) == 1
|
||||
assert nrf.nutrients[0].measures[0].label == "1.0 slice"
|
||||
assert nrf.nutrients[0].measures[0].quantity == 6.9
|
||||
assert nrf.nutrients[0].measures[0].gram_equivalent == 353.0
|
||||
assert nrf.nutrients[0].measures[0].value == 26
|
||||
assert nrf.nutrients[1].id == 1337
|
||||
assert nrf.nutrients[0].measures[0].value == 26.0
|
||||
assert nrf.nutrients[1].id == "1337"
|
||||
assert nrf.nutrients[1].name == "Calcium"
|
||||
assert nrf.nutrients[1].unit == "g"
|
||||
assert nrf.nutrients[1].value == 4.87
|
||||
|
|
Reference in New Issue
Block a user