def test_get_plant_data(self): """Plant data should be loaded from plantingcompanion/plants.json file, and parsed correctly to be used by Garden objects. """ plant_data = helpers.get_plant_data() # Current there are 68 plants in data. self.assertEqual(len(plant_data), 68)
def test_plants(self): rv = self.app.get('/plants') obj = json.loads(rv.get_data().decode()) plant_values = helpers.get_plant_data() plants = list(plant_values.keys()) plants.sort() self.assertEqual(obj, plants)
#!/usr/bin/env python """ API endpoints to list, process, and return data for optimal garden layouts. """ from flask import Flask from flask_restful import reqparse, abort, Api, Resource from plantingcompanion import helpers, garden PLANT_VALUES = helpers.get_plant_data() app = Flask(__name__) api = Api(app) parser = reqparse.RequestParser() def set_garden_arguments(): """ Sets POST args for /garden API endpoint. """ parser.add_argument('length', type=int, required=True) parser.add_argument('width', type=int, required=True) for plant in PLANT_VALUES.keys(): parser.add_argument(plant, type=int, default=0) set_garden_arguments() class Plants(Resource):