81 lines
2.5 KiB
ABAP
81 lines
2.5 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_row FOR TESTING.
|
|
METHODS rejects_duplicate FOR TESTING.
|
|
METHODS keeps_three_decimals FOR TESTING.
|
|
ENDCLASS.
|
|
|
|
|
|
CLASS {{p}}t20_test IMPLEMENTATION.
|
|
|
|
METHOD class_setup.
|
|
go_env = cl_osql_test_environment=>create( i_dependency_list = VALUE #( ( '{{P}}STOCK' ) ) ).
|
|
ENDMETHOD.
|
|
|
|
METHOD class_teardown.
|
|
go_env->destroy( ).
|
|
ENDMETHOD.
|
|
|
|
METHOD setup.
|
|
go_env->clear_doubles( ).
|
|
ENDMETHOD.
|
|
|
|
METHOD stores_row.
|
|
DATA ls_row TYPE {{p}}stock.
|
|
DATA ls_read TYPE {{p}}stock.
|
|
DATA lv_subrc TYPE sy-subrc.
|
|
ls_row-client = sy-mandt.
|
|
ls_row-bin_id = 'BIN-0001'.
|
|
ls_row-article_id = 'ART-000001'.
|
|
ls_row-quantity = '12.500'.
|
|
ls_row-unit_of_measure = 'ST'.
|
|
ls_row-shelf_no = '0042'.
|
|
ls_row-last_count_date = '20250115'.
|
|
ls_row-blocked = 'X'.
|
|
INSERT {{p}}stock FROM @ls_row.
|
|
lv_subrc = sy-subrc.
|
|
cl_abap_unit_assert=>assert_equals( exp = 0 act = lv_subrc ).
|
|
SELECT SINGLE * FROM {{p}}stock
|
|
WHERE bin_id = 'BIN-0001' AND article_id = 'ART-000001'
|
|
INTO @ls_read.
|
|
cl_abap_unit_assert=>assert_equals( exp = ls_row-quantity act = ls_read-quantity ).
|
|
cl_abap_unit_assert=>assert_equals( exp = ls_row-unit_of_measure act = ls_read-unit_of_measure ).
|
|
cl_abap_unit_assert=>assert_equals( exp = ls_row-blocked act = ls_read-blocked ).
|
|
ENDMETHOD.
|
|
|
|
METHOD rejects_duplicate.
|
|
DATA ls_row TYPE {{p}}stock.
|
|
DATA lv_subrc TYPE sy-subrc.
|
|
ls_row-client = sy-mandt.
|
|
ls_row-bin_id = 'BIN-0002'.
|
|
ls_row-article_id = 'ART-000002'.
|
|
INSERT {{p}}stock FROM @ls_row.
|
|
INSERT {{p}}stock FROM @ls_row.
|
|
lv_subrc = sy-subrc.
|
|
cl_abap_unit_assert=>assert_equals( exp = 4 act = lv_subrc ).
|
|
ENDMETHOD.
|
|
|
|
METHOD keeps_three_decimals.
|
|
DATA ls_row TYPE {{p}}stock.
|
|
DATA lv_quantity TYPE {{p}}stock-quantity.
|
|
ls_row-client = sy-mandt.
|
|
ls_row-bin_id = 'BIN-0003'.
|
|
ls_row-article_id = 'ART-000003'.
|
|
ls_row-quantity = '0.125'.
|
|
ls_row-unit_of_measure = 'KG'.
|
|
INSERT {{p}}stock FROM @ls_row.
|
|
SELECT SINGLE quantity FROM {{p}}stock
|
|
WHERE bin_id = 'BIN-0003' AND article_id = 'ART-000003'
|
|
INTO @lv_quantity.
|
|
cl_abap_unit_assert=>assert_equals(
|
|
exp = CONV decfloat34( '0.125' )
|
|
act = CONV decfloat34( lv_quantity ) ).
|
|
ENDMETHOD.
|
|
|
|
ENDCLASS.
|