59 lines
1.7 KiB
ABAP
59 lines
1.7 KiB
ABAP
CLASS {{p}}cider_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_batch FOR TESTING.
|
|
METHODS rejects_duplicate FOR TESTING.
|
|
ENDCLASS.
|
|
|
|
|
|
CLASS {{p}}cider_test IMPLEMENTATION.
|
|
|
|
METHOD class_setup.
|
|
go_env = cl_osql_test_environment=>create(
|
|
i_dependency_list = VALUE #( ( '{{P}}CIDER' ) ) ).
|
|
ENDMETHOD.
|
|
|
|
METHOD class_teardown.
|
|
go_env->destroy( ).
|
|
ENDMETHOD.
|
|
|
|
METHOD setup.
|
|
go_env->clear_doubles( ).
|
|
ENDMETHOD.
|
|
|
|
METHOD stores_batch.
|
|
DATA ls_batch TYPE {{p}}cider.
|
|
ls_batch-batch_id = 'B000000001'.
|
|
ls_batch-orchard_id = 'OR0001'.
|
|
ls_batch-apple_kg = '480.500'.
|
|
ls_batch-press_fee = '125.50'.
|
|
ls_batch-currency_code = 'EUR'.
|
|
|
|
INSERT {{p}}cider FROM @ls_batch.
|
|
cl_abap_unit_assert=>assert_subrc( exp = 0 ).
|
|
|
|
SELECT SINGLE orchard_id, apple_kg FROM {{p}}cider
|
|
WHERE batch_id = 'B000000001'
|
|
INTO @DATA(ls_read).
|
|
cl_abap_unit_assert=>assert_subrc( exp = 0 ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 'OR0001' act = ls_read-orchard_id ).
|
|
cl_abap_unit_assert=>assert_equals(
|
|
exp = CONV decfloat34( '480.5' ) act = CONV decfloat34( ls_read-apple_kg ) ).
|
|
ENDMETHOD.
|
|
|
|
METHOD rejects_duplicate.
|
|
DATA ls_batch TYPE {{p}}cider.
|
|
ls_batch-batch_id = 'B000000002'.
|
|
|
|
INSERT {{p}}cider FROM @ls_batch.
|
|
cl_abap_unit_assert=>assert_subrc( exp = 0 ).
|
|
|
|
INSERT {{p}}cider FROM @ls_batch.
|
|
cl_abap_unit_assert=>assert_equals( exp = 4 act = sy-subrc ).
|
|
ENDMETHOD.
|
|
ENDCLASS.
|