diff --git a/app.py b/app.py index 314e633..4cfc6a8 100644 --- a/app.py +++ b/app.py @@ -52,7 +52,18 @@ def mirror(name): return create_response(data) -# TODO: Implement the rest of the API here! +# part 1 and 3 +@app.route("/users", methods=["GET"]) +def users(): + team = request.args.get("team") + if not team: + data = {"users": db.get("users")} + return create_response(data) + users = db.get("users") + team_users = [u for u in users if u["team"] == team] + data = {"users": team_users} + return create_response(data) + """ ~~~~~~~~~~~~ END API ~~~~~~~~~~~~ diff --git a/test_app.py b/test_app.py index 586aba5..817b14e 100644 --- a/test_app.py +++ b/test_app.py @@ -39,3 +39,19 @@ def test_get_user_id(client): res_user = res.json["result"]["user"] assert res_user["name"] == "Aria" assert res_user["age"] == 19 + + +def test_create_user(client): + + # Test successful request + body = {"name": "David", "age": 100, "team": "Kiva"} + res = client.post("/users", json=body) + assert res.status_code == 201 + res_user = res.json["result"]["user"] + assert res_user["name"] == "David" + + # Test bad request + body = {"name": "Lato", "age": 28} + res = client.post("/users", json=body) + assert res.status_code == 422 + assert len(res.json["message"]) > 0