# Manual Integration Test: Test Validation.Minimum on Edm.Decimal

## DESCRIPTION

Test the behavior when you enter incorrect values.

## PREPARATION

To check console errors, open the developer tools before you start the application. Check with each step that there are no errors and warnings.

### Testing With Mock Data

Start the OData Types application with one of the following URLs; adjust host and port if necessary:

- As sample preview in the SDK: http://<host>:<port>/sapui5-sdk-dist/#/sample/sap.ui.core.sample.ViewTemplate.types/preview
- Local: http://<host>:<port>/test-resources/sap/ui/core/demokit/sample/common/index.html?component=ViewTemplate.types

### Testing Against back end System

Configure your Web IDE to execute the OData Types application against an ABAP back end system.
Start the OData Types application with the following URL; adjust host and port if necessary:

- Local: http://<host>:<port>/test-resources/sap/ui/core/demokit/sample/common/index.html?component=ViewTemplate.types&realOData=true

## REALIZE AND CHECK

### Enter an invalid value for Validation.Minimum on Edm.Decimal

1. Start the application.
2. Enter a value less than or equal to 100 in the `sap.ui.model.odata.type.Decimal (minimum: 100 (exclusive), maximum: 1000)` field.
3. Check: You get a validation error.
4. Press `Reset Model`.
5. Check: The validation error is gone and the old value is displayed.
6. Enter a value less than or equal to 100 in the `sap.ui.model.odata.type.Decimal (minimum: 100 (exclusive), maximum: 1000)` field.
7. Check: You get a validation error.
8. Correct errors by entering valid values.
9. Check: The validation error is gone and the old value is displayed.

### OData V4 Model tests

1. Press `V4` Button.
2. Enter invalid values in one or more of the data fields.
3. Check: You get validation errors with appropriate error messages.
4. Check: The data state of the related control is erroneous, this means that the control now is displayed with a red border and if it gets the foccus, you see the same error message highlighted beside the control.
5. Press `Reset Model` or `Reset ContextBinding`.
6. Check: The validation errors are gone and the old values are displayed.
7. Enter again invalid values in one or more of the data fields.
8. Check: You get validation errors with appropriate error messages.
9. Correct errors by entering valid values.
10. Check: The validation errors are gone.
11. Enter 100 in the field labeled `precision: 10, scale: 3, minimum: 100 (exclusive), maximum: 1000`.
12. Check: You get an error with the message "Enter a number greater than 100.000".
13. Correct the error by entering a valid value, e.g. 101
14. Check: The validation error is gone.
15. Enter 102 in the field labeled `stepInput: min: 0 max: 99 scale: 0`.
16. Check: You get an invalid data state "Enter a number with a maximum value of 99".
17. Correct the error by entering a valid value, e.g. 99
18. Enter 1.234 in the field labeled `stepInput: min: 0 max: 99 scale: 0`.
19. Check: You get an invalid data state "Enter a number with no decimal places".
20. Correct the error by entering a valid value, e.g. 98
21. Check: The validation error is gone.
22. Enter any value in the field labeled `Duration`.
23. Check: You get an error with the message "Type 'sap.ui.model.odata.type.Raw' does not support formatting".
24. Press `Reset Model` or `Reset ContextBinding`.
25. Check: The error is gone.
26. Enter "Apr 19, 2029" in the date date picker labeled with `Date, bound property dateValue`.
27. Check: There is no error displayed.
28. Enter "Apr 19, 2029, 8:25:21 AM" in the date time picker labeled with `DateTimeOffset, bound property dateValue`.
29. Check: There is no error displayed.
30. Enter "Europe/Berlin" in the field labeled with `TimezoneID` in the section `com.sap.vocabularies.UI.v1.Identification`.
31. Check: The field labeled with `DateTimeOffset` in the same section has the value "Apr 19, 2029, 8:25:21 AM Europe/Berlin".

### Real OData tests

1. Start the app with URL parameter "realOData=true".
2. Enter valid values in the input fields.
3. Press `Save`.
4. Reload the application and Check whether the before saved values appear.
5. Clear the field labeled `String40`
6. Check: The input field is empty.
7. Press `Save`.
8. Check: No error occurs.
9. Reload the application and Check whether the field is still empty.
10. Press `Reset`.
11. Check whether the default values provided by the service appear.
12. Reload the application and Check whether the default values still appear.
13. Press `V4` button and test the same within for OData v4 model.