dfe-analytical-services / dfe-analytical-services/dfe-published-data-qa

Add a filter interactions test

Open
#138 0 comments 0 reactions 0 assignees View on GitHub
new feature
Dominant language
R
Stars
4
Forks
1
PR merge metrics
No merged PRs in 30d

Description

We've attempted this before but stopped due to how much time it can take to run.

Because the table tool already filters after time and geography steps, we want to get every option under every filter and then make a big cube of all the possible combinations.

We then want to check if all of those combinations exist in the data file.

Filter groups will need to be handled as a special case, potentially by smushing into a single string that covers both cols?

Then likely need to present back to the users in a way that is helpful, ideally some kind of visual table where they can see (or download) to understand what is missing.

Once the multi-layer hierarchies work is in EES, we could enforce this more strongly and then anyone who needs to will use the breakdown / breakdown topic approach.

This will need some heavy performance testing, and use of the most efficient functions possible given the potential size of what needs to happen here as files get bigger.

Worth looking at something like [Git LFS](https://git-lfs.com/) to hold some larger test files we can use in performance testing.

Contributor guide

Open the contributing guide

Research direction

Start by locating the table tool's existing time and geography filtering, then trace how filter groups and the data file are represented. Define the interaction combinations and performance test approach before implementing; done means missing combinations are detected and presented in a useful table or download.

Written by the indexing model from the issue text.

Assessment

Tech stack
r
Domain
data, testing
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.