From 0141ca3742c1f8ea0c8bd8c1806ecb312cf38f2b Mon Sep 17 00:00:00 2001 From: Daniel Riggs Date: Thu, 1 Feb 2024 11:25:42 -0500 Subject: [PATCH] Add a test for the examples so it's easier to test when they break --- tests/test_examples/__init__.py | 0 tests/test_examples/test_departments.py | 30 +++++++++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 tests/test_examples/__init__.py create mode 100644 tests/test_examples/test_departments.py diff --git a/tests/test_examples/__init__.py b/tests/test_examples/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tests/test_examples/test_departments.py b/tests/test_examples/test_departments.py new file mode 100644 index 0000000..ae45efd --- /dev/null +++ b/tests/test_examples/test_departments.py @@ -0,0 +1,30 @@ +from examples import departments + + +def test_departments(): + result = departments.main() + assert not result.errors + + deps = result.data["listDepartments"] + assert len(deps) == 1 + + employees = deps[0]["employees"] + assert len(employees) == 3 + + def employee_by_name(employees, name): + return [e for e in employees if e["name"] == name][0] + + jason = employee_by_name(employees, "Jason") + carmen = employee_by_name(employees, "Carmen") + derek = employee_by_name(employees, "Derek") + + # Jason is a manager + assert jason["teamSize"] == 2 + assert carmen.get("teamSize") is None + + # some sanity checks on optional fields, + # knowing what the test data is + assert jason.get("hiredOn") is None + assert carmen.get("hiredOn") is not None + assert carmen["salary"]["rating"] == "GS-9" + assert derek["salary"] is None