Skip to content

Commit

Permalink
#150: Increase coverage of PythonICATIncludeFilter
Browse files Browse the repository at this point in the history
  • Loading branch information
MRichards99 committed Nov 30, 2020
1 parent 5910404 commit 49ef7f8
Showing 1 changed file with 27 additions and 0 deletions.
27 changes: 27 additions & 0 deletions test/icat/filters/test_include_filter.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
from datagateway_api.common.exceptions import FilterError
import pytest

from datagateway_api.common.icat.filters import PythonICATIncludeFilter
Expand Down Expand Up @@ -45,3 +46,29 @@ def test_valid_input(self, icat_query, filter_input, expected_output):
test_filter.apply_filter(icat_query)

assert icat_query.includes == expected_output

def test_invalid_type(self, icat_query):
with pytest.raises(FilterError):
PythonICATIncludeFilter({"datasets", "facility"})

def test_invalid_field(self, icat_query):
test_filter = PythonICATIncludeFilter("invalidField")
with pytest.raises(FilterError):
test_filter.apply_filter(icat_query)

@pytest.mark.parametrize(
"filter_input",
[
pytest.param({2: "datasets"}, id="invalid dictionary key"),
pytest.param(
{"datasets": {2: "datafiles"}}, id="invalid inner dictionary key"
),
pytest.param(
{"datasets": {"datafiles", "sample"}},
id="invalid inner dictionary value",
),
],
)
def test_invalid_extract_field(self, filter_input):
with pytest.raises(FilterError):
PythonICATIncludeFilter(filter_input)

0 comments on commit 49ef7f8

Please sign in to comment.