Skip to content
# Test filter column values endpoint - getting distinct values for filtering

# First, upload a CSV with test data
POST {{target}}/upload/csv
[MultipartFormData]
file: file,test_data.csv; text/csv

HTTP 200
[Asserts]
body contains "Success"
body contains "test_data"

# Get distinct values for the "name" column (no search filter)
GET {{target}}/database/tables/table/column/values?database=default&table=test_data&column=name

HTTP 200
[Asserts]
# Should contain checkboxes with all distinct names
body contains "filter_name"
body contains "Alice"
body contains "Bob"
body contains "Charlie"
# Each value should be a checkbox
body contains "type=\"checkbox\""

# Get distinct values for "city" column
GET {{target}}/database/tables/table/column/values?database=default&table=test_data&column=city

HTTP 200
[Asserts]
body contains "filter_city"
body contains "New York"
body contains "San Francisco"
body contains "Seattle"
body contains "type=\"checkbox\""

# Get distinct values for "age" column
GET {{target}}/database/tables/table/column/values?database=default&table=test_data&column=age

HTTP 200
[Asserts]
body contains "filter_age"
body contains "30"
body contains "25"
body contains "35"
body contains "type=\"checkbox\""

# Test search functionality - search for "San" in city column
GET {{target}}/database/tables/table/column/values?database=default&table=test_data&column=city&search=San

HTTP 200
[Asserts]
body contains "San Francisco"
body not contains "New York"
body not contains "Seattle"

# Test search functionality - search for "li" in name column (should match Alice)
GET {{target}}/database/tables/table/column/values?database=default&table=test_data&column=name&search=li

HTTP 200
[Asserts]
body contains "Alice"
body contains "Charlie"
body not contains "Bob"

# Test pagination - offset 0, should show first page (40 items or less)
GET {{target}}/database/tables/table/column/values?database=default&table=test_data&column=name&offset=0

HTTP 200
[Asserts]
body contains "filter_name"
# For small dataset, should not have "Load more"
# (our test data only has 3 names)

# Test with non-existent search term
GET {{target}}/database/tables/table/column/values?database=default&table=test_data&column=name&search=XYZ123

HTTP 200
[Asserts]
# Should return empty but valid response
body not contains "Alice"
body not contains "Bob"
body not contains "Charlie"