74 lines
2.4 KiB
ABAP
74 lines
2.4 KiB
ABAP
CLASS {{p}}t20_test DEFINITION PUBLIC FINAL CREATE PUBLIC
|
|
FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
|
|
PRIVATE SECTION.
|
|
CLASS-DATA go_env TYPE REF TO if_osql_test_environment.
|
|
CLASS-METHODS class_setup.
|
|
CLASS-METHODS class_teardown.
|
|
METHODS setup.
|
|
METHODS stores_callout FOR TESTING.
|
|
METHODS rejects_duplicate FOR TESTING.
|
|
METHODS keeps_amount FOR TESTING.
|
|
ENDCLASS.
|
|
|
|
|
|
CLASS {{p}}t20_test IMPLEMENTATION.
|
|
|
|
METHOD class_setup.
|
|
go_env = cl_osql_test_environment=>create( i_dependency_list = VALUE #( ( '{{P}}RESCUE' ) ) ).
|
|
ENDMETHOD.
|
|
|
|
METHOD class_teardown.
|
|
go_env->destroy( ).
|
|
ENDMETHOD.
|
|
|
|
METHOD setup.
|
|
go_env->clear_doubles( ).
|
|
ENDMETHOD.
|
|
|
|
METHOD stores_callout.
|
|
DATA ls_rescue TYPE {{p}}rescue.
|
|
ls_rescue-client = sy-mandt.
|
|
ls_rescue-callout_id = 'R0001'.
|
|
ls_rescue-callout_date = '20250310'.
|
|
ls_rescue-location = 'EAST FACE'.
|
|
ls_rescue-duration_min = 120.
|
|
ls_rescue-team_size = 5.
|
|
ls_rescue-rescued_count = 1.
|
|
ls_rescue-fee_amount = '980.00'.
|
|
ls_rescue-currency_code = 'EUR'.
|
|
INSERT {{p}}rescue FROM @ls_rescue.
|
|
cl_abap_unit_assert=>assert_subrc( exp = 0 ).
|
|
|
|
DATA ls_read TYPE {{p}}rescue.
|
|
SELECT SINGLE * FROM {{p}}rescue WHERE callout_id = 'R0001' INTO @ls_read.
|
|
cl_abap_unit_assert=>assert_equals( exp = 'EAST FACE' act = ls_read-location ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 120 act = ls_read-duration_min ).
|
|
ENDMETHOD.
|
|
|
|
METHOD rejects_duplicate.
|
|
DATA ls_rescue TYPE {{p}}rescue.
|
|
ls_rescue-client = sy-mandt.
|
|
ls_rescue-callout_id = 'R0002'.
|
|
ls_rescue-callout_date = '20250311'.
|
|
INSERT {{p}}rescue FROM @ls_rescue.
|
|
cl_abap_unit_assert=>assert_subrc( exp = 0 ).
|
|
INSERT {{p}}rescue FROM @ls_rescue.
|
|
cl_abap_unit_assert=>assert_subrc( exp = 4 ).
|
|
ENDMETHOD.
|
|
|
|
METHOD keeps_amount.
|
|
DATA ls_rescue TYPE {{p}}rescue.
|
|
ls_rescue-client = sy-mandt.
|
|
ls_rescue-callout_id = 'R0003'.
|
|
ls_rescue-callout_date = '20250312'.
|
|
ls_rescue-fee_amount = '1234.56'.
|
|
ls_rescue-currency_code = 'CHF'.
|
|
INSERT {{p}}rescue FROM @ls_rescue.
|
|
|
|
DATA ls_read TYPE {{p}}rescue.
|
|
SELECT SINGLE * FROM {{p}}rescue WHERE callout_id = 'R0003' INTO @ls_read.
|
|
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( '1234.56' )
|
|
act = CONV decfloat34( ls_read-fee_amount ) ).
|
|
ENDMETHOD.
|
|
ENDCLASS.
|