mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-02 13:03:01 +08:00

* Remote Settings: Clean-up Continue #4718 - Branch > Switch to PR: removed - Advanced > Checkout commit: removed - Advanced > Make Offline / Online: removed menu items and popups - Advanced > Change Remote: removed menu item and page * Remove ty_popups * Remove checkout_commit * Remove repo_view switch_to_pr * Remove get_switched * Add "Edit" icon also for offline Co-authored-by: Lars Hvam <larshp@hotmail.com>
411 lines
7.8 KiB
ABAP
411 lines
7.8 KiB
ABAP
*"* use this source file for your ABAP unit test classes
|
|
CLASS ltcl_sap_package_mock DEFINITION FINAL FOR TESTING
|
|
DURATION SHORT
|
|
RISK LEVEL HARMLESS.
|
|
|
|
PUBLIC SECTION.
|
|
INTERFACES:
|
|
zif_abapgit_sap_package.
|
|
|
|
CONSTANTS:
|
|
BEGIN OF c_package,
|
|
existing TYPE devclass VALUE '$EXISTING',
|
|
non_existing TYPE devclass VALUE '$NON_EXISTING',
|
|
user TYPE devclass VALUE '$USER',
|
|
END OF c_package.
|
|
|
|
METHODS:
|
|
constructor
|
|
IMPORTING
|
|
iv_package TYPE devclass,
|
|
|
|
was_create_called
|
|
RETURNING
|
|
VALUE(rv_create_called) TYPE abap_bool.
|
|
|
|
PRIVATE SECTION.
|
|
DATA:
|
|
mv_package TYPE devclass,
|
|
BEGIN OF ms_called,
|
|
create TYPE abap_bool,
|
|
END OF ms_called.
|
|
|
|
ENDCLASS.
|
|
|
|
|
|
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_create_package_popup_shown
|
|
RETURNING
|
|
VALUE(rv_popup_shown) TYPE abap_bool,
|
|
|
|
set_user_decision
|
|
IMPORTING
|
|
iv_user_decision TYPE ty_user_decision,
|
|
|
|
set_package
|
|
IMPORTING
|
|
iv_package TYPE devclass.
|
|
|
|
PRIVATE SECTION.
|
|
DATA:
|
|
BEGIN OF ms_called,
|
|
popup_to_create_package TYPE abap_bool,
|
|
END OF ms_called,
|
|
mv_user_decision TYPE ty_user_decision,
|
|
mv_package TYPE devclass.
|
|
|
|
ENDCLASS.
|
|
|
|
|
|
CLASS ltcl_create_package DEFINITION FINAL FOR TESTING
|
|
DURATION SHORT
|
|
RISK LEVEL HARMLESS.
|
|
PUBLIC SECTION.
|
|
PRIVATE SECTION.
|
|
DATA:
|
|
mv_package TYPE devclass,
|
|
mx_error TYPE REF TO zcx_abapgit_exception,
|
|
mo_popups_mock TYPE REF TO ltcl_popups_mock,
|
|
mo_sap_package_mock TYPE REF TO ltcl_sap_package_mock,
|
|
mv_created_package TYPE devclass.
|
|
|
|
METHODS:
|
|
setup,
|
|
|
|
raise_error_if_package_exists FOR TESTING RAISING cx_static_check,
|
|
package_given_in_popup FOR TESTING RAISING cx_static_check,
|
|
package_not_created_when_canc FOR TESTING RAISING cx_static_check,
|
|
package_created_when_confirm FOR TESTING RAISING cx_static_check,
|
|
|
|
given_existing_package,
|
|
given_non_existing_package,
|
|
given_user_cancels_popup,
|
|
given_user_confirms_popup,
|
|
given_no_package,
|
|
given_package_by_user,
|
|
|
|
when_create_package,
|
|
|
|
then_error_is_raised,
|
|
then_popup_is_shown,
|
|
then_no_package_is_created,
|
|
then_package_is_created,
|
|
then_no_error_is_raised.
|
|
|
|
ENDCLASS.
|
|
|
|
|
|
CLASS ltcl_create_package IMPLEMENTATION.
|
|
|
|
METHOD setup.
|
|
|
|
CREATE OBJECT mo_popups_mock TYPE ltcl_popups_mock.
|
|
zcl_abapgit_ui_injector=>set_popups( mo_popups_mock ).
|
|
|
|
ENDMETHOD.
|
|
|
|
|
|
METHOD raise_error_if_package_exists.
|
|
|
|
given_existing_package( ).
|
|
when_create_package( ).
|
|
then_error_is_raised( ).
|
|
|
|
ENDMETHOD.
|
|
|
|
|
|
METHOD package_given_in_popup.
|
|
|
|
given_no_package( ).
|
|
given_package_by_user( ).
|
|
given_user_confirms_popup( ).
|
|
when_create_package( ).
|
|
then_no_error_is_raised( ).
|
|
then_popup_is_shown( ).
|
|
then_package_is_created( ).
|
|
|
|
ENDMETHOD.
|
|
|
|
|
|
METHOD package_not_created_when_canc.
|
|
|
|
given_non_existing_package( ).
|
|
given_user_cancels_popup( ).
|
|
when_create_package( ).
|
|
then_popup_is_shown( ).
|
|
then_no_package_is_created( ).
|
|
|
|
ENDMETHOD.
|
|
|
|
|
|
METHOD package_created_when_confirm.
|
|
|
|
given_non_existing_package( ).
|
|
given_user_confirms_popup( ).
|
|
when_create_package( ).
|
|
then_popup_is_shown( ).
|
|
then_package_is_created( ).
|
|
|
|
ENDMETHOD.
|
|
|
|
|
|
METHOD when_create_package.
|
|
|
|
CREATE OBJECT mo_sap_package_mock
|
|
EXPORTING
|
|
iv_package = mv_package.
|
|
|
|
zcl_abapgit_injector=>set_sap_package(
|
|
iv_package = mv_package
|
|
ii_sap_package = mo_sap_package_mock ).
|
|
|
|
TRY.
|
|
mv_created_package = zcl_abapgit_services_basis=>create_package( mv_package ).
|
|
CATCH zcx_abapgit_exception INTO mx_error.
|
|
ENDTRY.
|
|
|
|
ENDMETHOD.
|
|
|
|
|
|
METHOD given_existing_package.
|
|
|
|
mv_package = ltcl_sap_package_mock=>c_package-existing.
|
|
|
|
ENDMETHOD.
|
|
|
|
|
|
METHOD given_non_existing_package.
|
|
|
|
mv_package = ltcl_sap_package_mock=>c_package-non_existing.
|
|
|
|
ENDMETHOD.
|
|
|
|
|
|
METHOD then_error_is_raised.
|
|
|
|
cl_abap_unit_assert=>assert_bound( mx_error ).
|
|
|
|
ENDMETHOD.
|
|
|
|
|
|
METHOD then_no_error_is_raised.
|
|
|
|
cl_abap_unit_assert=>assert_not_bound( mx_error ).
|
|
|
|
ENDMETHOD.
|
|
|
|
|
|
METHOD then_popup_is_shown.
|
|
|
|
cl_abap_unit_assert=>assert_true( mo_popups_mock->was_create_package_popup_shown( ) ).
|
|
|
|
ENDMETHOD.
|
|
|
|
|
|
METHOD given_user_cancels_popup.
|
|
|
|
mo_popups_mock->set_user_decision( ltcl_popups_mock=>c_user_decision-cancel ).
|
|
|
|
ENDMETHOD.
|
|
|
|
|
|
METHOD then_no_package_is_created.
|
|
|
|
cl_abap_unit_assert=>assert_false( mo_sap_package_mock->was_create_called( ) ).
|
|
|
|
ENDMETHOD.
|
|
|
|
|
|
METHOD given_user_confirms_popup.
|
|
|
|
mo_popups_mock->set_user_decision( ltcl_popups_mock=>c_user_decision-confirm ).
|
|
|
|
ENDMETHOD.
|
|
|
|
|
|
METHOD then_package_is_created.
|
|
|
|
cl_abap_unit_assert=>assert_true( mo_sap_package_mock->was_create_called( ) ).
|
|
cl_abap_unit_assert=>assert_equals(
|
|
exp = mv_package
|
|
act = mv_created_package ).
|
|
|
|
ENDMETHOD.
|
|
|
|
|
|
METHOD given_no_package.
|
|
|
|
CLEAR: mv_package.
|
|
|
|
ENDMETHOD.
|
|
|
|
|
|
METHOD given_package_by_user.
|
|
|
|
mo_popups_mock->set_package( ltcl_sap_package_mock=>c_package-user ).
|
|
|
|
ENDMETHOD.
|
|
|
|
ENDCLASS.
|
|
|
|
|
|
CLASS ltcl_sap_package_mock IMPLEMENTATION.
|
|
|
|
METHOD constructor.
|
|
|
|
mv_package = iv_package.
|
|
|
|
ENDMETHOD.
|
|
|
|
METHOD zif_abapgit_sap_package~are_changes_recorded_in_tr_req.
|
|
|
|
ENDMETHOD.
|
|
|
|
METHOD zif_abapgit_sap_package~create.
|
|
|
|
ms_called-create = abap_true.
|
|
|
|
ENDMETHOD.
|
|
|
|
METHOD zif_abapgit_sap_package~create_child.
|
|
|
|
ENDMETHOD.
|
|
|
|
METHOD zif_abapgit_sap_package~create_local.
|
|
|
|
ENDMETHOD.
|
|
|
|
METHOD zif_abapgit_sap_package~exists.
|
|
|
|
rv_bool = boolc( c_package-existing = mv_package ).
|
|
|
|
ENDMETHOD.
|
|
|
|
METHOD zif_abapgit_sap_package~get_transport_type.
|
|
|
|
ENDMETHOD.
|
|
|
|
METHOD zif_abapgit_sap_package~get_transport_layer.
|
|
|
|
ENDMETHOD.
|
|
|
|
METHOD zif_abapgit_sap_package~list_subpackages.
|
|
|
|
ENDMETHOD.
|
|
|
|
METHOD zif_abapgit_sap_package~list_superpackages.
|
|
|
|
ENDMETHOD.
|
|
|
|
METHOD zif_abapgit_sap_package~read_parent.
|
|
|
|
ENDMETHOD.
|
|
|
|
|
|
METHOD was_create_called.
|
|
|
|
rv_create_called = ms_called-create.
|
|
|
|
ENDMETHOD.
|
|
|
|
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.
|
|
|
|
ENDMETHOD.
|
|
|
|
METHOD zif_abapgit_popups~popup_to_create_package.
|
|
|
|
ms_called-popup_to_create_package = abap_true.
|
|
|
|
CASE mv_user_decision.
|
|
WHEN c_user_decision-cancel.
|
|
ev_create = abap_false.
|
|
WHEN c_user_decision-confirm.
|
|
ev_create = abap_true.
|
|
WHEN OTHERS.
|
|
cl_abap_unit_assert=>fail( ).
|
|
ENDCASE.
|
|
|
|
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_create_package_popup_shown.
|
|
|
|
rv_popup_shown = ms_called-popup_to_create_package.
|
|
|
|
ENDMETHOD.
|
|
|
|
METHOD set_user_decision.
|
|
|
|
mv_user_decision = iv_user_decision.
|
|
|
|
ENDMETHOD.
|
|
|
|
METHOD set_package.
|
|
|
|
mv_package = iv_package.
|
|
|
|
ENDMETHOD.
|
|
|
|
ENDCLASS.
|