mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-02 04:36:49 +08:00

* Initial * Adjustments * Router * Abaplint * abaplint * diff between eclipse and vscode * Multiple Adjustments * Split Backend And GUI Logic * Multiple Adjustments * No Unit Tests * abaplint * Rename ZCL_ABAPGIT_REPO_PRE_FILTER to ...TR * Multiple Adjustments * Refactor the OVP action links into a toolbar * abaplint * Replace BAPI_MSG by STRING * Rename Pre Filter to Object Filter * Rename Pre Filter also in abap_transpile.json * restore from main * Check if <ls_item>-li_class is filled in Toolbar * Adj. toolbars and move TR Req to zif_abapgit_popup * abaplint * Move ty_trrngtrkor_tt to zif_abapgit_definitions * abaplint * Move and rename filter menu entries Co-authored-by: Lars Hvam <larshp@hotmail.com> Co-authored-by: IBM <mbox-060-sap-extern-tbom@daimler.com> Co-authored-by: Marc Bernard <59966492+mbtools@users.noreply.github.com>
646 lines
16 KiB
ABAP
646 lines
16 KiB
ABAP
CLASS ltcl_popups_mock DEFINITION FINAL FOR TESTING
|
|
DURATION SHORT
|
|
RISK LEVEL HARMLESS.
|
|
|
|
PUBLIC SECTION.
|
|
TYPES:
|
|
ty_user_decision TYPE string.
|
|
|
|
CONSTANTS:
|
|
BEGIN OF c_user_decision,
|
|
cancel TYPE ty_user_decision VALUE 'cancel',
|
|
confirm TYPE ty_user_decision VALUE 'confirm',
|
|
END OF c_user_decision.
|
|
|
|
INTERFACES:
|
|
zif_abapgit_popups.
|
|
|
|
METHODS:
|
|
was_confirm_popup_shown
|
|
RETURNING
|
|
VALUE(rv_popup_shown) TYPE abap_bool,
|
|
|
|
set_user_decision
|
|
IMPORTING
|
|
iv_user_decision TYPE ty_user_decision.
|
|
|
|
PRIVATE SECTION.
|
|
DATA:
|
|
BEGIN OF ms_called,
|
|
popup_to_confirm TYPE abap_bool,
|
|
END OF ms_called,
|
|
mv_user_decision TYPE ty_user_decision.
|
|
|
|
ENDCLASS.
|
|
|
|
CLASS ltcl_popups_mock IMPLEMENTATION.
|
|
|
|
METHOD zif_abapgit_popups~branch_list_popup.
|
|
ENDMETHOD.
|
|
|
|
METHOD zif_abapgit_popups~branch_popup_callback.
|
|
ENDMETHOD.
|
|
|
|
METHOD zif_abapgit_popups~choose_pr_popup.
|
|
ENDMETHOD.
|
|
|
|
METHOD zif_abapgit_popups~create_branch_popup.
|
|
ENDMETHOD.
|
|
|
|
METHOD zif_abapgit_popups~popup_folder_logic.
|
|
ENDMETHOD.
|
|
|
|
METHOD zif_abapgit_popups~popup_search_help.
|
|
ENDMETHOD.
|
|
|
|
METHOD zif_abapgit_popups~popup_to_confirm.
|
|
|
|
ms_called-popup_to_confirm = abap_true.
|
|
|
|
CASE mv_user_decision.
|
|
WHEN c_user_decision-cancel.
|
|
rv_answer = 'A'.
|
|
WHEN c_user_decision-confirm.
|
|
rv_answer = '1'.
|
|
WHEN OTHERS.
|
|
cl_abap_unit_assert=>fail( ).
|
|
ENDCASE.
|
|
|
|
ENDMETHOD.
|
|
|
|
METHOD zif_abapgit_popups~popup_to_create_package.
|
|
ENDMETHOD.
|
|
|
|
METHOD zif_abapgit_popups~popup_to_create_transp_branch.
|
|
ENDMETHOD.
|
|
|
|
METHOD zif_abapgit_popups~popup_to_select_from_list.
|
|
ENDMETHOD.
|
|
|
|
METHOD zif_abapgit_popups~popup_to_select_transports.
|
|
ENDMETHOD.
|
|
|
|
METHOD zif_abapgit_popups~popup_transport_request.
|
|
ENDMETHOD.
|
|
|
|
METHOD was_confirm_popup_shown.
|
|
rv_popup_shown = ms_called-popup_to_confirm.
|
|
ENDMETHOD.
|
|
|
|
METHOD set_user_decision.
|
|
mv_user_decision = iv_user_decision.
|
|
ENDMETHOD.
|
|
|
|
METHOD zif_abapgit_popups~popup_select_tr_requests.
|
|
ENDMETHOD.
|
|
|
|
METHOD zif_abapgit_popups~popup_select_wb_tc_tr_and_tsk.
|
|
ENDMETHOD.
|
|
|
|
ENDCLASS.
|
|
|
|
CLASS ltcl_test_form DEFINITION
|
|
FOR TESTING
|
|
RISK LEVEL HARMLESS
|
|
DURATION SHORT
|
|
FINAL.
|
|
|
|
PRIVATE SECTION.
|
|
DATA:
|
|
mo_popups_mock TYPE REF TO ltcl_popups_mock.
|
|
|
|
METHODS setup.
|
|
METHODS validate1 FOR TESTING RAISING zcx_abapgit_exception.
|
|
METHODS validate2 FOR TESTING RAISING zcx_abapgit_exception.
|
|
METHODS validate3 FOR TESTING RAISING zcx_abapgit_exception.
|
|
METHODS normalize FOR TESTING RAISING zcx_abapgit_exception.
|
|
METHODS is_empty FOR TESTING RAISING zcx_abapgit_exception.
|
|
METHODS exit_clean FOR TESTING RAISING zcx_abapgit_exception.
|
|
METHODS exit_dirty_confirm FOR TESTING RAISING zcx_abapgit_exception.
|
|
METHODS exit_dirty_cancel FOR TESTING RAISING zcx_abapgit_exception.
|
|
|
|
ENDCLASS.
|
|
|
|
CLASS ltcl_test_form IMPLEMENTATION.
|
|
|
|
METHOD setup.
|
|
|
|
CREATE OBJECT mo_popups_mock TYPE ltcl_popups_mock.
|
|
zcl_abapgit_ui_injector=>set_popups( mo_popups_mock ).
|
|
|
|
ENDMETHOD.
|
|
|
|
METHOD validate1.
|
|
|
|
DATA lo_cut TYPE REF TO zcl_abapgit_html_form_utils.
|
|
DATA lo_form TYPE REF TO zcl_abapgit_html_form.
|
|
DATA lo_form_data TYPE REF TO zcl_abapgit_string_map.
|
|
DATA lo_log TYPE REF TO zcl_abapgit_string_map.
|
|
|
|
lo_form = zcl_abapgit_html_form=>create( ).
|
|
lo_form_data = zcl_abapgit_string_map=>create( ).
|
|
|
|
lo_form->text(
|
|
iv_name = 'field1'
|
|
iv_required = abap_true
|
|
iv_label = 'Field name 1'
|
|
)->text(
|
|
iv_name = 'field2'
|
|
iv_label = 'Field name 2' ).
|
|
|
|
lo_cut = zcl_abapgit_html_form_utils=>create( lo_form ).
|
|
|
|
lo_log = lo_cut->validate( lo_form_data ).
|
|
|
|
cl_abap_unit_assert=>assert_equals(
|
|
act = lo_log->size( )
|
|
exp = 1 ).
|
|
cl_abap_unit_assert=>assert_char_cp(
|
|
act = lo_log->get( 'field1' )
|
|
exp = '*cannot be empty' ).
|
|
|
|
lo_form_data->set(
|
|
iv_key = 'field1'
|
|
iv_val = '' ).
|
|
|
|
lo_log = lo_cut->validate( lo_form_data ).
|
|
|
|
cl_abap_unit_assert=>assert_equals(
|
|
act = lo_log->size( )
|
|
exp = 1 ).
|
|
cl_abap_unit_assert=>assert_char_cp(
|
|
act = lo_log->get( 'field1' )
|
|
exp = '*cannot be empty' ).
|
|
|
|
lo_form_data->set(
|
|
iv_key = 'field1'
|
|
iv_val = 'xyz' ).
|
|
|
|
lo_log = lo_cut->validate( lo_form_data ).
|
|
|
|
cl_abap_unit_assert=>assert_equals(
|
|
act = lo_log->size( )
|
|
exp = 0 ).
|
|
|
|
ENDMETHOD.
|
|
|
|
METHOD validate2.
|
|
|
|
DATA lo_cut TYPE REF TO zcl_abapgit_html_form_utils.
|
|
DATA lo_form TYPE REF TO zcl_abapgit_html_form.
|
|
DATA lo_form_data TYPE REF TO zcl_abapgit_string_map.
|
|
DATA lo_log TYPE REF TO zcl_abapgit_string_map.
|
|
|
|
" New form
|
|
lo_form = zcl_abapgit_html_form=>create( ).
|
|
lo_form_data = zcl_abapgit_string_map=>create( ).
|
|
|
|
lo_form->text(
|
|
iv_name = 'field3'
|
|
iv_min = 3
|
|
iv_max = 10
|
|
iv_label = 'Field name 3' ).
|
|
|
|
lo_cut = zcl_abapgit_html_form_utils=>create( lo_form ).
|
|
|
|
lo_form_data->set(
|
|
iv_key = 'field3'
|
|
iv_val = 'xy' ).
|
|
|
|
lo_log = lo_cut->validate( lo_form_data ).
|
|
|
|
cl_abap_unit_assert=>assert_equals(
|
|
act = lo_log->size( )
|
|
exp = 1 ).
|
|
cl_abap_unit_assert=>assert_char_cp(
|
|
act = lo_log->get( 'field3' )
|
|
exp = '*must not be shorter*' ).
|
|
|
|
lo_form_data->set(
|
|
iv_key = 'field3'
|
|
iv_val = '01234567890123' ).
|
|
|
|
lo_log = lo_cut->validate( lo_form_data ).
|
|
|
|
cl_abap_unit_assert=>assert_equals(
|
|
act = lo_log->size( )
|
|
exp = 1 ).
|
|
cl_abap_unit_assert=>assert_char_cp(
|
|
act = lo_log->get( 'field3' )
|
|
exp = '*must not be longer*' ).
|
|
|
|
lo_form_data->set(
|
|
iv_key = 'field3'
|
|
iv_val = 'xyz!' ).
|
|
|
|
lo_log = lo_cut->validate( lo_form_data ).
|
|
|
|
cl_abap_unit_assert=>assert_equals(
|
|
act = lo_log->size( )
|
|
exp = 0 ).
|
|
|
|
ENDMETHOD.
|
|
|
|
METHOD validate3.
|
|
|
|
DATA lo_cut TYPE REF TO zcl_abapgit_html_form_utils.
|
|
DATA lo_form TYPE REF TO zcl_abapgit_html_form.
|
|
DATA lo_form_data TYPE REF TO zcl_abapgit_string_map.
|
|
DATA lo_log TYPE REF TO zcl_abapgit_string_map.
|
|
|
|
" New form
|
|
lo_form = zcl_abapgit_html_form=>create( ).
|
|
lo_form_data = zcl_abapgit_string_map=>create( ).
|
|
|
|
lo_form->number(
|
|
iv_name = 'field4'
|
|
iv_min = 100
|
|
iv_max = 200
|
|
iv_label = 'Field name 4' ).
|
|
|
|
lo_cut = zcl_abapgit_html_form_utils=>create( lo_form ).
|
|
|
|
lo_form_data->set(
|
|
iv_key = 'field4'
|
|
iv_val = '123-456' ).
|
|
|
|
lo_log = lo_cut->validate( lo_form_data ).
|
|
|
|
cl_abap_unit_assert=>assert_equals(
|
|
act = lo_log->size( )
|
|
exp = 1 ).
|
|
cl_abap_unit_assert=>assert_char_cp(
|
|
act = lo_log->get( 'field4' )
|
|
exp = '*is not numeric*' ).
|
|
|
|
lo_form_data->set(
|
|
iv_key = 'field4'
|
|
iv_val = '50' ).
|
|
|
|
lo_log = lo_cut->validate( lo_form_data ).
|
|
|
|
cl_abap_unit_assert=>assert_equals(
|
|
act = lo_log->size( )
|
|
exp = 1 ).
|
|
cl_abap_unit_assert=>assert_char_cp(
|
|
act = lo_log->get( 'field4' )
|
|
exp = '*must not be lower*' ).
|
|
|
|
lo_form_data->set(
|
|
iv_key = 'field4'
|
|
iv_val = '250' ).
|
|
|
|
lo_log = lo_cut->validate( lo_form_data ).
|
|
|
|
cl_abap_unit_assert=>assert_equals(
|
|
act = lo_log->size( )
|
|
exp = 1 ).
|
|
cl_abap_unit_assert=>assert_char_cp(
|
|
act = lo_log->get( 'field4' )
|
|
exp = '*must not be higher*' ).
|
|
|
|
lo_form_data->set(
|
|
iv_key = 'field4'
|
|
iv_val = '150' ).
|
|
|
|
lo_log = lo_cut->validate( lo_form_data ).
|
|
|
|
cl_abap_unit_assert=>assert_equals(
|
|
act = lo_log->size( )
|
|
exp = 0 ).
|
|
|
|
ENDMETHOD.
|
|
|
|
METHOD normalize.
|
|
|
|
DATA lo_cut TYPE REF TO zcl_abapgit_html_form_utils.
|
|
DATA lo_form TYPE REF TO zcl_abapgit_html_form.
|
|
DATA lo_form_data TYPE REF TO zcl_abapgit_string_map.
|
|
DATA lo_normalized_act TYPE REF TO zcl_abapgit_string_map.
|
|
DATA lo_normalized_exp TYPE REF TO zcl_abapgit_string_map.
|
|
|
|
lo_form = zcl_abapgit_html_form=>create( ).
|
|
lo_form_data = zcl_abapgit_string_map=>create( iv_case_insensitive = abap_true ).
|
|
lo_normalized_exp = zcl_abapgit_string_map=>create( ).
|
|
|
|
lo_form->text(
|
|
iv_name = 'field1'
|
|
iv_label = 'Field name 1'
|
|
)->text(
|
|
iv_name = 'field2'
|
|
iv_upper_case = abap_true
|
|
iv_label = 'Field name 2'
|
|
)->text(
|
|
iv_name = 'field3'
|
|
iv_label = 'Field name 3'
|
|
)->checkbox(
|
|
iv_name = 'chk1'
|
|
iv_label = 'Checkbox1'
|
|
)->checkbox(
|
|
iv_name = 'chk2'
|
|
iv_label = 'Checkbox2'
|
|
)->number(
|
|
iv_name = 'num1'
|
|
iv_label = 'Number 1'
|
|
)->table(
|
|
iv_name = 'tab1'
|
|
iv_label = 'Table 1'
|
|
)->column( 'Column 1'
|
|
)->column( 'Column 2'
|
|
)->number(
|
|
iv_name = |tab1-{ zif_abapgit_html_form=>c_rows }|
|
|
iv_label = 'Number of Rows' ). " simulate hidden form field
|
|
|
|
lo_cut = zcl_abapgit_html_form_utils=>create( lo_form ).
|
|
|
|
lo_form_data->set(
|
|
iv_key = 'field1'
|
|
iv_val = 'val1' ).
|
|
lo_form_data->set(
|
|
iv_key = 'field2'
|
|
iv_val = 'val2' ).
|
|
" Intentionally field3 is not specificed
|
|
lo_form_data->set(
|
|
iv_key = 'chk1'
|
|
iv_val = '' ).
|
|
lo_form_data->set(
|
|
iv_key = 'chk2'
|
|
iv_val = 'on' ).
|
|
lo_form_data->set(
|
|
iv_key = 'chk3'
|
|
iv_val = 'on' ). " Extra field - filtered by normalizing
|
|
|
|
lo_form_data->set(
|
|
iv_key = 'num1'
|
|
iv_val = ' 1234' ).
|
|
|
|
" Table with 2 rows, 2 columns
|
|
lo_form_data->set(
|
|
iv_key = |tab1-{ zif_abapgit_html_form=>c_rows }|
|
|
iv_val = '2' ).
|
|
lo_form_data->set(
|
|
iv_key = |tab1-1-1|
|
|
iv_val = 'abc' ).
|
|
lo_form_data->set(
|
|
iv_key = |tab1-1-2|
|
|
iv_val = '123' ).
|
|
lo_form_data->set(
|
|
iv_key = |tab1-2-1|
|
|
iv_val = '' ).
|
|
lo_form_data->set(
|
|
iv_key = |tab1-2-2|
|
|
iv_val = '0' ).
|
|
|
|
lo_normalized_exp->set(
|
|
iv_key = 'field1'
|
|
iv_val = 'val1' ).
|
|
lo_normalized_exp->set(
|
|
iv_key = 'field2'
|
|
iv_val = 'VAL2' ).
|
|
lo_normalized_exp->set(
|
|
iv_key = 'field3'
|
|
iv_val = '' ). " But it is present in normalized
|
|
lo_normalized_exp->set(
|
|
iv_key = 'chk1'
|
|
iv_val = ` ` ). " hmmm
|
|
lo_normalized_exp->set(
|
|
iv_key = 'chk2'
|
|
iv_val = 'X' ).
|
|
lo_normalized_exp->set(
|
|
iv_key = 'chk2'
|
|
iv_val = 'X' ).
|
|
|
|
lo_normalized_exp->set(
|
|
iv_key = 'num1'
|
|
iv_val = '1234' ).
|
|
|
|
lo_normalized_exp->set(
|
|
iv_key = |tab1-{ zif_abapgit_html_form=>c_rows }|
|
|
iv_val = '2' ).
|
|
lo_normalized_exp->set(
|
|
iv_key = |tab1-1-1|
|
|
iv_val = 'abc' ).
|
|
lo_normalized_exp->set(
|
|
iv_key = |tab1-1-2|
|
|
iv_val = '123' ).
|
|
lo_normalized_exp->set(
|
|
iv_key = |tab1-2-1|
|
|
iv_val = '' ).
|
|
lo_normalized_exp->set(
|
|
iv_key = |tab1-2-2|
|
|
iv_val = '0' ).
|
|
|
|
lo_normalized_act = lo_cut->normalize( lo_form_data ).
|
|
|
|
cl_abap_unit_assert=>assert_equals(
|
|
act = lo_normalized_act->mt_entries
|
|
exp = lo_normalized_exp->mt_entries ).
|
|
|
|
ENDMETHOD.
|
|
|
|
METHOD is_empty.
|
|
|
|
DATA lo_cut TYPE REF TO zcl_abapgit_html_form_utils.
|
|
DATA lo_form TYPE REF TO zcl_abapgit_html_form.
|
|
DATA lo_form_data TYPE REF TO zcl_abapgit_string_map.
|
|
|
|
lo_form = zcl_abapgit_html_form=>create( ).
|
|
lo_form_data = zcl_abapgit_string_map=>create( ).
|
|
|
|
lo_form->text(
|
|
iv_name = 'field1'
|
|
iv_label = 'Field name 1'
|
|
)->checkbox(
|
|
iv_name = 'chk1'
|
|
iv_label = 'Checkbox1'
|
|
)->number(
|
|
iv_name = 'num1'
|
|
iv_label = 'Number 1'
|
|
)->table(
|
|
iv_name = 'tab1'
|
|
iv_label = 'Table 1'
|
|
)->column( 'Column 1'
|
|
)->column( 'Column 2'
|
|
)->number(
|
|
iv_name = |tab1-{ zif_abapgit_html_form=>c_rows }|
|
|
iv_label = 'Number of Rows' ). " simulate hidden form field
|
|
|
|
lo_cut = zcl_abapgit_html_form_utils=>create( lo_form ).
|
|
|
|
cl_abap_unit_assert=>assert_equals(
|
|
act = lo_cut->is_empty( lo_form_data )
|
|
exp = abap_true ).
|
|
|
|
lo_form_data->set(
|
|
iv_key = 'field1'
|
|
iv_val = 'val1' ).
|
|
|
|
cl_abap_unit_assert=>assert_equals(
|
|
act = lo_cut->is_empty( lo_form_data )
|
|
exp = abap_false ).
|
|
|
|
lo_form_data = zcl_abapgit_string_map=>create( ).
|
|
lo_form_data->set(
|
|
iv_key = 'chk1'
|
|
iv_val = 'X' ).
|
|
|
|
cl_abap_unit_assert=>assert_equals(
|
|
act = lo_cut->is_empty( lo_form_data )
|
|
exp = abap_false ).
|
|
|
|
lo_form_data = zcl_abapgit_string_map=>create( ).
|
|
lo_form_data->set(
|
|
iv_key = 'num1'
|
|
iv_val = '123' ).
|
|
|
|
cl_abap_unit_assert=>assert_equals(
|
|
act = lo_cut->is_empty( lo_form_data )
|
|
exp = abap_false ).
|
|
|
|
lo_form_data = zcl_abapgit_string_map=>create( ).
|
|
lo_form_data->set(
|
|
iv_key = 'num1'
|
|
iv_val = '0' ).
|
|
|
|
cl_abap_unit_assert=>assert_equals(
|
|
act = lo_cut->is_empty( lo_form_data )
|
|
exp = abap_true ).
|
|
|
|
lo_form_data = zcl_abapgit_string_map=>create( ).
|
|
lo_form_data->set(
|
|
iv_key = |tab1-{ zif_abapgit_html_form=>c_rows }|
|
|
iv_val = '2' ).
|
|
lo_form_data->set(
|
|
iv_key = |tab1-1-1|
|
|
iv_val = '' ).
|
|
lo_form_data->set(
|
|
iv_key = |tab1-1-2|
|
|
iv_val = '' ).
|
|
lo_form_data->set(
|
|
iv_key = |tab1-2-1|
|
|
iv_val = '' ).
|
|
lo_form_data->set(
|
|
iv_key = |tab1-2-2|
|
|
iv_val = 'Hello' ).
|
|
|
|
cl_abap_unit_assert=>assert_equals(
|
|
act = lo_cut->is_empty( lo_form_data )
|
|
exp = abap_false ).
|
|
|
|
ENDMETHOD.
|
|
|
|
METHOD exit_clean.
|
|
|
|
DATA lo_cut TYPE REF TO zcl_abapgit_html_form_utils.
|
|
DATA lo_form TYPE REF TO zcl_abapgit_html_form.
|
|
DATA lo_form_orig TYPE REF TO zcl_abapgit_string_map.
|
|
DATA lo_form_data TYPE REF TO zcl_abapgit_string_map.
|
|
|
|
lo_form = zcl_abapgit_html_form=>create( ).
|
|
lo_form_orig = zcl_abapgit_string_map=>create( ).
|
|
lo_form_data = zcl_abapgit_string_map=>create( ).
|
|
|
|
lo_form->text(
|
|
iv_name = 'field'
|
|
iv_label = 'Field name' ).
|
|
|
|
lo_cut = zcl_abapgit_html_form_utils=>create( lo_form ).
|
|
|
|
" Clean form (no changes)
|
|
lo_form_orig->set(
|
|
iv_key = 'field'
|
|
iv_val = 'val' ).
|
|
|
|
lo_cut->set_data( lo_form_orig ).
|
|
|
|
lo_form_data->set(
|
|
iv_key = 'field'
|
|
iv_val = 'val' ).
|
|
|
|
cl_abap_unit_assert=>assert_equals(
|
|
act = lo_cut->exit( lo_form_data )
|
|
exp = zcl_abapgit_gui=>c_event_state-go_back_to_bookmark ).
|
|
|
|
cl_abap_unit_assert=>assert_equals(
|
|
act = mo_popups_mock->was_confirm_popup_shown( )
|
|
exp = abap_false ).
|
|
|
|
ENDMETHOD.
|
|
|
|
METHOD exit_dirty_confirm.
|
|
|
|
DATA lo_cut TYPE REF TO zcl_abapgit_html_form_utils.
|
|
DATA lo_form TYPE REF TO zcl_abapgit_html_form.
|
|
DATA lo_form_orig TYPE REF TO zcl_abapgit_string_map.
|
|
DATA lo_form_data TYPE REF TO zcl_abapgit_string_map.
|
|
|
|
lo_form = zcl_abapgit_html_form=>create( ).
|
|
lo_form_orig = zcl_abapgit_string_map=>create( ).
|
|
lo_form_data = zcl_abapgit_string_map=>create( ).
|
|
|
|
lo_form->text(
|
|
iv_name = 'field'
|
|
iv_label = 'Field name' ).
|
|
|
|
lo_cut = zcl_abapgit_html_form_utils=>create( lo_form ).
|
|
|
|
" Dirty form (changed field value)
|
|
lo_form_orig = zcl_abapgit_string_map=>create( ).
|
|
|
|
lo_cut->set_data( lo_form_orig ).
|
|
|
|
lo_form_data->set(
|
|
iv_key = 'field'
|
|
iv_val = 'val' ).
|
|
|
|
mo_popups_mock->set_user_decision( ltcl_popups_mock=>c_user_decision-confirm ).
|
|
|
|
cl_abap_unit_assert=>assert_equals(
|
|
act = lo_cut->exit( lo_form_data )
|
|
exp = zcl_abapgit_gui=>c_event_state-go_back_to_bookmark ).
|
|
|
|
cl_abap_unit_assert=>assert_equals(
|
|
act = mo_popups_mock->was_confirm_popup_shown( )
|
|
exp = abap_true ).
|
|
|
|
ENDMETHOD.
|
|
|
|
METHOD exit_dirty_cancel.
|
|
|
|
DATA lo_cut TYPE REF TO zcl_abapgit_html_form_utils.
|
|
DATA lo_form TYPE REF TO zcl_abapgit_html_form.
|
|
DATA lo_form_orig TYPE REF TO zcl_abapgit_string_map.
|
|
DATA lo_form_data TYPE REF TO zcl_abapgit_string_map.
|
|
|
|
lo_form = zcl_abapgit_html_form=>create( ).
|
|
lo_form_orig = zcl_abapgit_string_map=>create( ).
|
|
lo_form_data = zcl_abapgit_string_map=>create( ).
|
|
|
|
lo_form->text(
|
|
iv_name = 'field'
|
|
iv_label = 'Field name' ).
|
|
|
|
lo_cut = zcl_abapgit_html_form_utils=>create( lo_form ).
|
|
|
|
" Dirty form (changed field value)
|
|
lo_form_orig = zcl_abapgit_string_map=>create( ).
|
|
|
|
lo_cut->set_data( lo_form_orig ).
|
|
|
|
lo_form_data->set(
|
|
iv_key = 'field'
|
|
iv_val = 'val' ).
|
|
|
|
mo_popups_mock->set_user_decision( ltcl_popups_mock=>c_user_decision-cancel ).
|
|
|
|
cl_abap_unit_assert=>assert_equals(
|
|
act = lo_cut->exit( lo_form_data )
|
|
exp = zcl_abapgit_gui=>c_event_state-no_more_act ).
|
|
|
|
cl_abap_unit_assert=>assert_equals(
|
|
act = mo_popups_mock->was_confirm_popup_shown( )
|
|
exp = abap_true ).
|
|
|
|
ENDMETHOD.
|
|
ENDCLASS.
|