abapGit/src/objects/zcl_abapgit_object_tran.clas.testclasses.abap
Lars Hvam 5f9df74463
reduce method length, #2146 (#2212)
* TRAN: refactor method SPLIT_PARAMETERS

new method SHIFT_PARAM added

* settings page: refactoring

rename BUILD_SETTINGS to POST
split contents into smaller methods
2018-12-20 09:22:33 +01:00

154 lines
3.0 KiB
ABAP

CLASS ltcl_split_parameters DEFINITION FINAL FOR TESTING
DURATION SHORT
RISK LEVEL HARMLESS.
PRIVATE SECTION.
DATA mo_cut TYPE REF TO zcl_abapgit_object_tran.
METHODS:
setup,
parmeter_transaction FOR TESTING RAISING cx_static_check,
given_parameter_transaction
IMPORTING
iv_tcode TYPE csequence
iv_param TYPE csequence,
when_parameter_split,
then_st_tcode_shd_be
IMPORTING
iv_exp_st_tcode TYPE eusel_tcod,
then_st_skip_1_shd_be
IMPORTING
iv_st_skip TYPE eusel_skip,
then_call_tcode_shd_be
IMPORTING
iv_call_tcode TYPE tcode,
then_param_shd_be
IMPORTING
iv_line TYPE i
iv_field TYPE string
iv_value TYPE string.
DATA:
ms_tstcp TYPE tstcp,
mt_rsparam TYPE s_param,
ms_rsstcd TYPE rsstcd,
ms_tstc TYPE tstc.
ENDCLASS.
CLASS zcl_abapgit_object_tran DEFINITION LOCAL FRIENDS ltcl_split_parameters.
CLASS ltcl_split_parameters IMPLEMENTATION.
METHOD setup.
DATA: ls_item TYPE zif_abapgit_definitions=>ty_item.
ls_item-obj_name = 'ZDUMMY'.
ls_item-obj_type = 'TRAN'.
CREATE OBJECT mo_cut
EXPORTING
is_item = ls_item
iv_language = sy-langu.
ENDMETHOD.
METHOD parmeter_transaction.
"Parameter transaction ISSUE_1276
given_parameter_transaction(
iv_tcode = 'ZMM_BF_SPEZ_ROLE'
iv_param = '/*SM30 VIEWNAME=ZMM_BF_SPEZ_ROLE;UPDATE=X;' ).
when_parameter_split( ).
then_st_tcode_shd_be( 'X' ).
then_st_skip_1_shd_be( 'X' ).
then_call_tcode_shd_be( 'SM30' ).
then_param_shd_be(
iv_line = 1
iv_field = 'VIEWNAME'
iv_value ='ZMM_BF_SPEZ_ROLE' ).
then_param_shd_be(
iv_line = 2
iv_field = 'UPDATE'
iv_value = 'X' ).
ENDMETHOD.
METHOD given_parameter_transaction.
ms_tstcp-tcode = iv_tcode.
ms_tstcp-param = iv_param.
ENDMETHOD.
METHOD when_parameter_split.
mo_cut->split_parameters(
CHANGING
ct_rsparam = mt_rsparam
cs_rsstcd = ms_rsstcd
cs_tstcp = ms_tstcp
cs_tstc = ms_tstc ).
ENDMETHOD.
METHOD then_st_tcode_shd_be.
cl_abap_unit_assert=>assert_equals(
exp = iv_exp_st_tcode
act = ms_rsstcd-st_tcode ).
ENDMETHOD.
METHOD then_st_skip_1_shd_be.
cl_abap_unit_assert=>assert_equals(
exp = iv_st_skip
act = ms_rsstcd-st_skip_1 ).
ENDMETHOD.
METHOD then_call_tcode_shd_be.
cl_abap_unit_assert=>assert_equals(
exp = iv_call_tcode
act = ms_rsstcd-call_tcode ).
ENDMETHOD.
METHOD then_param_shd_be.
DATA: ls_exp_rsparam LIKE LINE OF mt_rsparam,
ls_act_rsparam TYPE rsparam.
ls_exp_rsparam-field = iv_field.
ls_exp_rsparam-value = iv_value.
READ TABLE mt_rsparam INDEX iv_line
INTO ls_act_rsparam.
cl_abap_unit_assert=>assert_equals(
exp = ls_exp_rsparam
act = ls_act_rsparam ).
ENDMETHOD.
ENDCLASS.