Skip to content

Commit

Permalink
#141: Add tests for new functions in query.py
Browse files Browse the repository at this point in the history
  • Loading branch information
MRichards99 committed Apr 12, 2021
1 parent 552f743 commit 916e3d1
Showing 1 changed file with 39 additions and 0 deletions.
39 changes: 39 additions & 0 deletions test/icat/test_query.py
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,45 @@ def test_json_format_execution_output(

assert query_output_json == single_investigation_test_data

def test_valid_get_distinct_attributes(self, icat_client):
test_query = ICATQuery(icat_client, "Investigation")
test_query.query.setAttributes(["summary", "name"])

assert test_query.get_distinct_attributes() == ["summary", "name"]

@pytest.mark.parametrize(
"distinct_attrs, result, expected_output",
[
pytest.param(
["summary"],
["Summary 1"],
{"summary": "Summary 1"},
id="Single attribute",
),
pytest.param(
["summary", "title"],
["Summary 1", "Title 1"],
{"summary": "Summary 1", "title": "Title 1"},
id="Multiple attributes",
),
pytest.param(
["summary", "investigationUsers.role"],
["Summary 1", "PI"],
{"summary": "Summary 1", "investigationUsers": {"role": "PI"}},
id="Multiple attributes with related attribute",
),
],
)
def test_valid_map_distinct_attributes_to_results(
self, icat_client, distinct_attrs, result, expected_output,
):
test_query = ICATQuery(icat_client, "Investigation")
test_output = test_query.map_distinct_attributes_to_results(
distinct_attrs, result,
)

assert test_output == expected_output

@pytest.mark.parametrize(
"input_distinct_fields, included_fields, expected_output",
[
Expand Down

0 comments on commit 916e3d1

Please sign in to comment.