Skip to content

Commit 012f8a9

Browse files
author
alex-omophub
committed
Add integration tests for search functionality with filters and pagination
1 parent c76b454 commit 012f8a9

1 file changed

Lines changed: 47 additions & 0 deletions

File tree

tests/testthat/test-search-integration.R

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,53 @@ test_that("search with domain filter works", {
4545
}
4646
})
4747

48+
test_that("search with standard_concept filter works", {
49+
skip_if_no_integration_key()
50+
client <- integration_client()
51+
52+
results <- client$search$basic(
53+
"diabetes",
54+
standard_concept = "S",
55+
page_size = 20
56+
)
57+
58+
concepts <- extract_data(results, "concepts")
59+
expect_gt(length(concepts), 0)
60+
61+
# All results should be standard concepts
62+
for (concept in concepts) {
63+
expect_equal(concept$standard_concept, "S")
64+
}
65+
})
66+
67+
test_that("search with multiple filters and pagination works", {
68+
skip_if_no_integration_key()
69+
client <- integration_client()
70+
71+
# This combination triggers the COUNT query with all parameters
72+
results <- client$search$basic(
73+
"diabetes",
74+
vocabulary_ids = "SNOMED",
75+
domain_ids = "Condition",
76+
standard_concept = "S",
77+
page_size = 10
78+
)
79+
80+
concepts <- extract_data(results, "concepts")
81+
expect_gt(length(concepts), 0)
82+
83+
# Verify all filters applied correctly
84+
for (concept in concepts) {
85+
expect_equal(concept$vocabulary_id, "SNOMED")
86+
expect_equal(concept$domain_id, "Condition")
87+
expect_equal(concept$standard_concept, "S")
88+
}
89+
90+
# Verify pagination metadata exists (proves COUNT query worked)
91+
expect_true(!is.null(results$meta))
92+
expect_true(!is.null(results$meta$total_items))
93+
})
94+
4895
test_that("autocomplete works", {
4996
skip_if_no_integration_key()
5097
client <- integration_client()

0 commit comments

Comments
 (0)