All files / test/src zcl_abapgit_object_zag1.clas.testclasses.abap

33.04% Statements 38/115
100% Branches 0/0
0% Functions 0/5
33.04% Lines 38/115

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 1161x 1x 1x 1x 1x 1x 1x                           1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x                                                         1x 1x             1x 1x     1x 1x                                                         1x 1x  
CLASS lcl_tr_object_table DEFINITION.
  PUBLIC SECTION.
    INTERFACES if_ftd_invocation_answer.
ENDCLASS.
 
CLASS lcl_tr_object_table IMPLEMENTATION.
  METHOD if_ftd_invocation_answer~answer.

    DATA lt_objects TYPE STANDARD TABLE OF ko100 WITH DEFAULT KEY.
    DATA ls_object  LIKE LINE OF lt_objects.

    ls_object-pgmid = 'R3TR'.
    ls_object-object = 'ZAG1'.
    INSERT ls_object INTO TABLE lt_objects.

    result->get_output_configuration( )->set_table_parameter(
      name  = 'WT_OBJECT_TEXT'
      value = lt_objects ).

  ENDMETHOD.
ENDCLASS.
 
************************************************************************
 
CLASS ltcl_test DEFINITION FOR TESTING DURATION SHORT RISK LEVEL CRITICAL FINAL.
 
  PUBLIC SECTION.
    INTERFACES if_ftd_invocation_answer.
 
  PRIVATE SECTION.
    METHODS setup.
    METHODS teardown.
    METHODS upsert FOR TESTING RAISING cx_static_check.
 
    CONSTANTS c_package TYPE devclass VALUE 'ZFOOBAR'.
    DATA mi_env TYPE REF TO if_function_test_environment.
 
ENDCLASS.
 
 
CLASS ltcl_test IMPLEMENTATION.
 
  METHOD setup.
    DATA lt_deps    TYPE if_function_test_environment=>tt_function_dependencies.
    DATA lo_initial TYPE REF TO zif_abapgit_repo_srv.
    DATA lo_tr_object_table TYPE REF TO lcl_tr_object_table.
    DATA lo_environment TYPE REF TO zcl_abapgit_web_environment.

    zcl_abapgit_repo_srv=>inject_instance( lo_initial ).

    CREATE OBJECT lo_tr_object_table.

    INSERT 'ENQUEUE_EZABAPGIT' INTO TABLE lt_deps.
    INSERT 'DEQUEUE_EZABAPGIT' INTO TABLE lt_deps.
    INSERT 'TR_OBJECT_TABLE' INTO TABLE lt_deps.
    INSERT 'SAPGUI_PROGRESS_INDICATOR' INTO TABLE lt_deps.

    mi_env = cl_function_test_environment=>create( lt_deps ).
    mi_env->get_double( 'ENQUEUE_EZABAPGIT' )->configure_call( )->ignore_all_parameters(
      )->then_answer( me ).
    mi_env->get_double( 'DEQUEUE_EZABAPGIT' )->configure_call( )->ignore_all_parameters(
      )->then_answer( me ).
    mi_env->get_double( 'SAPGUI_PROGRESS_INDICATOR' )->configure_call( )->ignore_all_parameters(
      )->then_answer( me ).
    mi_env->get_double( 'TR_OBJECT_TABLE' )->configure_call( )->ignore_all_parameters(
      )->then_answer( lo_tr_object_table ).

    CREATE OBJECT lo_environment.
    zcl_abapgit_injector=>set_environment( lo_environment ).

  ENDMETHOD.
 
  METHOD teardown.
    DATA li_environment TYPE REF TO zif_abapgit_environment.

    mi_env->clear_doubles( ).

    zcl_abapgit_injector=>set_environment( li_environment ).
  ENDMETHOD.
 
  METHOD if_ftd_invocation_answer~answer.
    RETURN.
  ENDMETHOD.
 
  METHOD upsert.

    DATA lo_online TYPE REF TO zcl_abapgit_repo_online.
    DATA lt_result TYPE zif_abapgit_definitions=>ty_results_tt.
    DATA lv_url    TYPE string.


    ASSERT sy-sysid = 'ABC'.

    lv_url = zcl_abapgit_gitea=>create_repo( 'repo-' && cl_system_uuid=>if_system_uuid_static~create_uuid_x16( ) ).

    zcl_abapgit_object_zag1=>upsert(
      iv_name    = 'ZAG1_NAME'
      iv_value   = 'hello'
      iv_package = c_package ).

    lo_online ?= zcl_abapgit_repo_srv=>get_instance( )->new_online(
      iv_url     = lv_url
      iv_package = c_package ).

    cl_abap_unit_assert=>assert_not_initial( lo_online ).

    lt_result = zcl_abapgit_repo_status=>calculate( lo_online ).

    cl_abap_unit_assert=>assert_equals(
      exp = lines( lt_result )
      act = 2 ).

  ENDMETHOD.
 
ENDCLASS.