Open dcarsey opened 3 years ago
Created a synthetic dataset that covers following use cases:
Dataset: https://github.com/RENCI/tic-map-pipeline-script/blob/master/syntheticDataset.json
I'm not sure if the synthetic data is useful here @rajshruti18 but it would be good to include all the described use cases in the synthetic dataset, as well as code to actually test functionality with that data.
related to #433
@dcarsey add google doc here
MORE IMPORTANT TEST CASES
At least >2 proposals to test if pagination works
Special characters in PI names
Special characters in Proposal name / description about project
Proposals that are HEAL - non-HEAL
If some fields are intentionally left null
Spaces OR blank?
Look at actual REDCap data to see how it comes back
Sometimes it’s an empty string
Need a more targeted approach
Look at source code and see which fields it uses that does not check for null and write cases for those fields / run test case and show there’s a bug and fix it
OR
more time required - systematically take out each field then generate a bunch of proposals w/ each proposal w/ 1 field taken out and then run it
Take one that’s complete and write a json script to remove a different field each time
Shruti can try it and use Hao as a resource
Checking logic to make sure the most recent data is captured / in the right state
Anything that’s already in one of the github issues we should do
LESS IMPORTANT TEST CASES
Proposal ID to be continuous
Proposal ID to handle large gaps
Proposal IDs that are a max integer
Spacing in PI names
Very large proposal ID (larger than maximum integer)
Non-proposal proposals
Funding column - can it handle numbers AND text ?
Funding institute >1 field
Removed services - check that it captures this
Proposal status - esp. Withdrawn by PI
Dawn added after meeting: check resubmission
FIELDS THAT USE LOGIC
grant resubmission that was funded 2nd time thru:
there are 6 fields to look at for funding source (and there may be >1 funding source for a proposal)
For OTHER funding look at
Sometimes they update their funding source so also look at
Then for other look at
We have 2 main sources:
AND OTHER LOGIC SITUATIONS THAT TRIP US UP FROM TIME TO TIME