[x] Confirm that if the Measure filter is changed, the distribution of observations change
[x] Confirm that different measures reflect different precisions, appropriate to their values
[x] View x of x participants note at the top of the page: check that it updates when filters are applied
[x] Confirm the ability to apply normal ranges by checking the Normal Range box: a range rectangle should appear for each participant
[x] Confirm that applying normal ranges does not change the axes in the chart.
[x] Confirm that when normal ranges are applied, there is a tooltip displayed beside "Normal Range".
[x] Confirm that typing in a number into either the lower limit or upper limit control updates the x-axis domain accordingly and the chart is redrawn to match the new limits.
[x] Confirm that the lower limit cannot be equal to or greater than the upper limit and the upper limit cannot be equal to or less than the lower limit. Entering this condition should cause the limits to flip automatically and always have the larger limit as the Upper Limit.
[x] Confirm that the Reset Limits button resets the x-axis to the minimum and maximum values in the data.
[x] Confirm that the y-axis changes when the x-axis controls are modified
[x] Confirm that other controls (filtering, changing measures, etc.) work logically when using a custom x-axis. Example of an added filter: {"filters":[{"value_col":"SITE","label":"Site"}]}
[x] Confirm that with a filter added, such as SITE, the x-axis does not change when changing the Site filter but leaving the same Measure selected. The x-axis domain should only change when the measure changes.
[x] Confirm that if a filter is added for a variable that is not in the data, then a browser console warning is thrown. Add a made up filter such as {"filters":[{"value_col":"SOTE","label":"Sote"}]} and render the chart. Open the browser's developer tools to the Console view and look for the "The [ Sote ] filter has been removed because the variable does not exist." message.
[x] Confirm that missing or non-numeric values in the dataset are handled and removed, and that the number of missing and non-numeric records appears opposite the number of participants annotation, beneath the controls. View the same Console in the developer tools and look for the "xxxx missing or non-numeric results have been removed." warning message. Download the dataset, remove some numeric values, save the datset, and then upload the new version, and render the chart. The number of missing or non-numeric values shown in the warning message should increment accordingly.
[x] Confirm that a warning is thrown in the console when the user specifies an invalid starting measure and that the chart then defaults to the first measure in the data, when sorted alphabetically. (To check: set Initial Medical Sign to an invalid value, render the chart, and view the console).
[x] Confirm that if you set Initial Medical Sign to an existent value (like IgE) and render, then the chart defaults to the specified measure, but with units attached.
[x] Confirm that if you set Unit to a non-existent value, then the chart will render, but the units no longer appear beside the Measure names in the filter, or along the x-axis.
[x] Confirm that specifying a non-existent value for a required field (such as Measure/Medical Sign or Result) and rendering the charts results in a "variable does not exist error" printed to both the console and the container element, and the chart is then destroyed.
Chart
[x] Confirm a description of the range and # of records appears below the chart when the user mouses over a bar
[x] Confirm that you can view a detailed listing of measure records by clicking on a bar in the chart: the number of records for the measure and selected range should appear underneath the chart
[x] Confirm that the bars are not cut off on either end of the chart
[x] Confirm that a value representing the lower and upper limit of each bar should appear to the left and right at the bottom of each bar on the x-axis.
[x] Confirm that when using a filter, the number of bins/columns displayed updates depending on the number of records displayed. (To check this: 1. Add a filter for VISIT. 2. Render the chart. 3. Flip through the VISIT dropdown and view the columns in the chart).
[x] Confirm that when data is filtered by something other than Measure, the Zoom button can be used to set the x-domain to the range of the filtered data.
[x] Confirm that hovering/clicking anywhere in the chart highlights the bar underneath the mouse vertically, regardless of whether the mouse is over the bar itself.
[x] Confirm that the custom mark for x domain when drawing the bars with the range of 0 is fixed via the Zoom button. (to test: 1. Add a USUBJID filter. 2. Select 01-021 in the filter dropdown. 3. Hit the zoom button - the bar should be centered on the underlying value (~47) and have a "normal" width, e.g. not too thin, not too thick, but just right.)
Data Listing
[x] Confirm # of records is visible in data listing header
[x] Confirm the bottom of the data listing tab has pagination links
[x] Confirm each default page displays 10 records
[x] Confirm “>” pagination arrows link data records to the next page
[x] Confirm “<” pagination arrows link data records to the previous page
[x] Confirm pagination “>>” double arrows link data to the last pages of the data record
[x] Confirm pagination “<<” double arrows link data to the first pages of the data record
[x] Confirm that Search works to filter the data displayed in the listing
[x] Confirm that Sort works in the listing by clicking on column headers
[x] Confirm that you can export the displayed data to a csv via via the Export: CSV button
[x] Confirm data listing resets when a new filter is applied
https://github.com/RhoInc/viz-library/issues/119