New step: Validate value range

Assignee

Reporter

Sprint

Description

Implement a new step that will allow users to verify that the values in a column are within specified range. The step must work on all data types.

 

Step parameters

  • Input column: select single column to validate, any type excep for boolean must be supported.

  • Minimum value: optional, allow user to provide minimum value. If empty, it is considered to be unbounded interval on the left.

  • Include minimum: boolean, checked by default. Specified whether the minimum is part of the range or not. I.e. whether the lower bound is tested as min < X or min <= x.

  • Maximum value: optional, allow user to provide maximum value. If empty, it is considered to be unbounded interval on the right.

  • Include maximum: boolean, checked by default. Specified whether the maximum is part of the range or not. I.e. whether the upper bound is tested as X < max or X <= max.

  • Error message: allows user to customize the error message. Default message is "Value is out of allowed range".

  • Accept empty values: if checked, empty values are considered valid. Empty value is null or "". Default is checked.

At least one of Minimum or Maximum must be provided for the rule to be valid. If Min > Max, the GUI should provide a warning message. In such case, when step is saved, it should be fixed automatically (i.e. pick smaller value as minimum).

GUI properties

  • Step name: Validate value range

  • Step description: Validate if value is within specified range

  • Long description: Validate that the value is in the specified fixed range. Range can be closed (it includes its endpoints) or open (without the endpoints).

  • Step label in step list:

    • Validate that 'column' is <condition> where <condition> depends on settings:

      • Both min, max provided: <condition>="between 'min' and 'max'"

      • Only min is provided: <condition>="greater than 'min'" or "greater than or equal to 'min'"

      • Only max is provided: <condition>="less than 'max'" or "less than or equal to 'max'"

  • Category: Data quality

  • Toolbar placement: Validation icon, 2nd item, see

  • Search keywords: range maximum minimum interval

Steps to reproduce

None

Activity

Show:

Jaroslav Kylberger August 4, 2023 at 1:43 PM

QA:

  • test the step functionality

  • check that all texts are correct - additional text in step long description (under show more ...) is ok, it is there to make users aware about accepted minimum and maximum formats for different column types

  • check automated tests

  • we added new checkbox "Ignore case for string columns" that was not in issue description originally (see issue comments) - test it works correctly

  • only accepted format for date column is "yyyy-MM-dd HH:mm:ss" (see issue comments why) - test that min/max values with other formats show error (after step Save)

Be aware that min and max length properties are currently required. It will become optional after  is implemented.

Fixed

Details

Priority

Fix versions

QA Testing

Graph automated test
GUI automated test
GUI manual test
JUnit test

QA Test Identification

Components

Created July 17, 2023 at 10:01 AM
Updated October 3, 2023 at 8:44 AM
Resolved August 4, 2023 at 1:43 PM