mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 12:20:51 +08:00

* TRAN: refactor method SPLIT_PARAMETERS new method SHIFT_PARAM added * settings page: refactoring rename BUILD_SETTINGS to POST split contents into smaller methods
154 lines
3.0 KiB
ABAP
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.
|