Files
abap-llm/tasks_gen/train/G1936/reference/syrup_test.clas.abap
2026-10-05 22:08:59 +02:00

66 lines
1.9 KiB
ABAP

CLASS {{p}}syrup_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 fields_are_complete FOR TESTING.
METHODS insert_and_select FOR TESTING.
METHODS duplicate_is_rejected FOR TESTING.
ENDCLASS.
CLASS {{p}}syrup_test IMPLEMENTATION.
METHOD class_setup.
go_env = cl_osql_test_environment=>create( i_dependency_list = VALUE #( ( '{{P}}SYRUP' ) ) ).
ENDMETHOD.
METHOD class_teardown.
go_env->destroy( ).
ENDMETHOD.
METHOD setup.
go_env->clear_doubles( ).
ENDMETHOD.
METHOD fields_are_complete.
DATA(lo_struct) = CAST cl_abap_structdescr( cl_abap_typedescr=>describe_by_name( '{{P}}SYRUP' ) ).
DATA(lt_fields) = lo_struct->get_ddic_field_list( ).
cl_abap_unit_assert=>assert_equals( exp = 9 act = lines( lt_fields ) ).
ENDMETHOD.
METHOD insert_and_select.
DATA ls_row TYPE {{p}}syrup.
ls_row-client = sy-mandt.
ls_row-delivery_id = 'A1'.
ls_row-grove_id = 'G1'.
ls_row-delivery_date = '20250301'.
ls_row-sap_liters = '100.00'.
ls_row-brix = '4.0'.
ls_row-quality_grade = '01'.
ls_row-payout = '300.00'.
ls_row-currency_code = 'EUR'.
INSERT {{p}}syrup FROM @ls_row.
cl_abap_unit_assert=>assert_subrc( exp = 0 ).
SELECT SINGLE grove_id FROM {{p}}syrup WHERE delivery_id = 'A1' INTO @DATA(lv_grove).
cl_abap_unit_assert=>assert_subrc( exp = 0 ).
cl_abap_unit_assert=>assert_equals( exp = 'G1' act = lv_grove ).
ENDMETHOD.
METHOD duplicate_is_rejected.
DATA ls_row TYPE {{p}}syrup.
ls_row-client = sy-mandt.
ls_row-delivery_id = 'A2'.
INSERT {{p}}syrup FROM @ls_row.
cl_abap_unit_assert=>assert_subrc( exp = 0 ).
INSERT {{p}}syrup FROM @ls_row.
cl_abap_unit_assert=>assert_subrc( exp = 4 ).
ENDMETHOD.
ENDCLASS.