74 lines
2.6 KiB
ABAP
74 lines
2.6 KiB
ABAP
CLASS {{p}}t20_hidden DEFINITION PUBLIC FINAL CREATE PUBLIC
|
|
FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
|
|
PRIVATE SECTION.
|
|
CLASS-DATA go_env TYPE REF TO if_cds_test_environment.
|
|
CLASS-METHODS class_setup.
|
|
CLASS-METHODS class_teardown.
|
|
METHODS setup.
|
|
METHODS all_departments FOR TESTING.
|
|
METHODS parent_name FOR TESTING.
|
|
METHODS top_has_no_parent FOR TESTING.
|
|
METHODS orphan_has_no_parent FOR TESTING.
|
|
METHODS own_data_shown FOR TESTING.
|
|
METHODS headcount_shown FOR TESTING.
|
|
ENDCLASS.
|
|
|
|
|
|
CLASS {{p}}t20_hidden IMPLEMENTATION.
|
|
METHOD class_setup.
|
|
go_env = cl_cds_test_environment=>create( i_for_entity = '{{P}}I_DEPT' ).
|
|
ENDMETHOD.
|
|
|
|
METHOD class_teardown.
|
|
go_env->destroy( ).
|
|
ENDMETHOD.
|
|
|
|
METHOD setup.
|
|
DATA lt_dept TYPE STANDARD TABLE OF {{p}}dept WITH EMPTY KEY.
|
|
go_env->clear_doubles( ).
|
|
lt_dept = VALUE #(
|
|
( dept_id = 'D100' dept_name = 'HEAD OFFICE' parent_id = '' headcount = 10 )
|
|
( dept_id = 'D200' dept_name = 'SALES' parent_id = 'D100' headcount = 25 )
|
|
( dept_id = 'D300' dept_name = 'PURCHASING' parent_id = 'D100' headcount = 12 )
|
|
( dept_id = 'D400' dept_name = 'EXPORT' parent_id = 'D200' headcount = 8 )
|
|
( dept_id = 'D500' dept_name = 'ORPHAN' parent_id = 'D999' headcount = 3 ) ).
|
|
go_env->insert_test_data( lt_dept ).
|
|
ENDMETHOD.
|
|
|
|
METHOD all_departments.
|
|
SELECT dept_id FROM {{p}}i_dept INTO TABLE @DATA(lt_ids).
|
|
cl_abap_unit_assert=>assert_equals( exp = 5 act = lines( lt_ids ) ).
|
|
ENDMETHOD.
|
|
|
|
METHOD parent_name.
|
|
SELECT SINGLE _parent~dept_name FROM {{p}}i_dept
|
|
WHERE dept_id = 'D200' INTO @DATA(lv_name).
|
|
cl_abap_unit_assert=>assert_equals( exp = 'HEAD OFFICE' act = lv_name ).
|
|
ENDMETHOD.
|
|
|
|
METHOD top_has_no_parent.
|
|
SELECT SINGLE _parent~dept_name FROM {{p}}i_dept
|
|
WHERE dept_id = 'D100' INTO @DATA(lv_name).
|
|
cl_abap_unit_assert=>assert_initial( act = lv_name ).
|
|
ENDMETHOD.
|
|
|
|
METHOD orphan_has_no_parent.
|
|
SELECT SINGLE _parent~dept_name FROM {{p}}i_dept
|
|
WHERE dept_id = 'D500' INTO @DATA(lv_name).
|
|
cl_abap_unit_assert=>assert_initial( act = lv_name ).
|
|
ENDMETHOD.
|
|
|
|
METHOD own_data_shown.
|
|
SELECT SINGLE dept_name parent_id FROM {{p}}i_dept
|
|
WHERE dept_id = 'D400' INTO @DATA(ls_row).
|
|
cl_abap_unit_assert=>assert_equals( exp = 'EXPORT' act = ls_row-dept_name ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 'D200' act = ls_row-parent_id ).
|
|
ENDMETHOD.
|
|
|
|
METHOD headcount_shown.
|
|
SELECT SINGLE headcount FROM {{p}}i_dept
|
|
WHERE dept_id = 'D300' INTO @DATA(lv_count).
|
|
cl_abap_unit_assert=>assert_equals( exp = 12 act = lv_count ).
|
|
ENDMETHOD.
|
|
ENDCLASS.
|