You can create list assertions for page lists on a rule to determine if either the expected result is anywhere in the list of results returned by the rule. Even if the order of results changes, the test will continue to work.
You can configure list assertions for page lists on a rule to apply assertions to all the results that are returned by the rule. Configure an ordered list assertion so that you do not have to manually input assertions for each result in the list.
Open the PegaUnit test case if it is not already open.
Complete one of the following actions:
To add a new assertion, click Add expected result at the bottom of the page.
Modify an existing assertion in the pane.
From the Assertion type list, select List.
Add properties to the assertion.
Click Add properties.
In the of object field, enter the path of the object with which the properties are compared during the assertion.
Proceed to step d.
From the Thread list in the Actual results section, select the thread that contains the page whose properties or pages you want to add.
In the Page field, enter the page whose properties or pages you want to add.
In the of object field, enter the path of the object with which the properties are compared during the assertion.
Proceed to step d.
Select the properties or pages that you want to add. You can search for a property or its value by entering text in the search bar and pressing Enter.
If you select a page, all embedded pages and properties from the page are added. Added properties are displayed in the right pane.
When you add multiple properties, the assertion passes if the expected output and results match for all properties.
You can compare a property to multiple values so that the assertion passes only if the property matches all values. To do so, add an entry for the property and each value to which you want to compare it. For example, if you want the assertion to pass when Age property matches both the 5 and 7 values, add these two assertions for a property or list assertion:
.Age is equal to 5
.Age is equal to 7
You can also compare a property to multiple values so that the assertion passes if the property matches any value using the is in operator.
Optional: In the Filter field, enter a property and value on which to filter results or open the Expression Builder by clicking the Gear icon to provide an expression that is used to filter results. The list assertion applies only to the page list entries that are specified for this filter value.
From the Comparator list, select the comparator that you want to use to compare the property with a specified value.
You can use the is in comparator to compare a text, integer, or decimal property to multiple values so that the assertion passes if the property matches any of the values that you specify. You can also use the is not in comparator so that the assertion passes if the property does not match any of the values that you specify.
Separate values for the is in or is not in comparator by using the pipe (|) character. For text properties, use double quotation marks at the beginning and end of the value, for example, "23|15|88"
.
For example, if you want the assertion to pass when Age property matches either the 5 or 7 values, configure the assertion as .Age is in 5|7
.
In the Value field, either enter a value with which to compare the property or open the Expression Builder by clicking the Gear icon to enter an expression that is used to provide the value.
The Gear icon is not displayed until after you have saved the rule form.
To add a comment, click the Add comment icon, enter a comment, and click OK.
Click Done.
Click Save in the rule form.
When you run the test case, the system searches for the specified properties in the page list. One of the following occurs:
If you selected In ANY Instance, the assertion passes if all the properties in the set match the expected values in the page list. If none of the properties match any of the values in the page list, the assertion does not pass.
If you selected In ALL instances, the assertion passes if all the properties in the set match the expected values in every entry in the page list. If any of the properties do not match any entry in the page list, the assertion does not pass.