All files / output zcl_abapgit_data_config.clas.testclasses.mjs

90.9% Statements 100/110
75% Branches 9/12
72.72% Functions 8/11
90.9% Lines 100/110

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 1101x 1x 1x 2x 2x 2x 2x 2x 2x       2x 2x 1x 1x 1x       2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 2x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 2x 1x 1x 1x         1x 1x 1x 1x 1x 2x 1x 1x
const {zcl_abapgit_data_config} = await import("./zcl_abapgit_data_config.clas.mjs");
const {cx_root} = await import("./cx_root.clas.mjs");
// zcl_abapgit_data_config.clas.testclasses.abap
class ltcl_test {
  static INTERNAL_TYPE = 'CLAS';
  static INTERNAL_NAME = 'CLAS-ZCL_ABAPGIT_DATA_CONFIG-LTCL_TEST';
  static IMPLEMENTED_INTERFACES = [];
  static ATTRIBUTES = {"MV_JSON": {"type": () => {return new abap.types.String({qualifiedName: "STRING"});}, "visibility": "I", "is_constant": " ", "is_class": " "},
  "MS_CONFIG": {"type": () => {return new abap.types.Structure({
  "type": new abap.types.Character(4, {"qualifiedName":"zif_abapgit_data_config=>ty_data_type"}),
  "name": new abap.types.Character(40, {}),
  "skip_initial": new abap.types.Character(1, {"qualifiedName":"ABAP_BOOL","ddicName":"ABAP_BOOL"}),
  "where": abap.types.TableFactory.construct(new abap.types.String({qualifiedName: "STRING"}), {"withHeader":false,"keyType":"DEFAULT","primaryKey":{"isUnique":false,"type":"STANDARD","keyFields":[],"name":"primary_key"},"secondary":[]}, "STRING_TABLE")}, "zif_abapgit_data_config=>ty_config", undefined, {}, {});}, "visibility": "I", "is_constant": " ", "is_class": " "}};
  static METHODS = {"SETUP": {"visibility": "I", "parameters": {}},
  "DOUBLE_ADD_CONFIG": {"visibility": "I", "parameters": {}},
  "TO_JSON": {"visibility": "I", "parameters": {}},
  "FROM_JSON": {"visibility": "I", "parameters": {"IT_FILES": {"type": () => {return abap.types.TableFactory.construct(new abap.types.Structure({
  "path": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_GIT_DEFINITIONS=>TY_FILE_SIGNATURE-PATH"}),
  "filename": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_GIT_DEFINITIONS=>TY_FILE_SIGNATURE-FILENAME"}),
  "sha1": new abap.types.Character(40, {"qualifiedName":"zif_abapgit_git_definitions=>ty_sha1"}),
  "data": new abap.types.XString({qualifiedName: "ZIF_ABAPGIT_GIT_DEFINITIONS=>TY_FILE-DATA"})}, "zif_abapgit_git_definitions=>ty_file", undefined, {}, {}), {"withHeader":false,"keyType":"DEFAULT","primaryKey":{"name":"primary_key","type":"STANDARD","isUnique":false,"keyFields":[]},"secondary":[{"name":"file_path","type":"SORTED","isUnique":true,"keyFields":["PATH","FILENAME"]},{"name":"file","type":"SORTED","isUnique":false,"keyFields":["FILENAME"]}]}, "zif_abapgit_git_definitions=>ty_files_tt");}, "is_optional": " "}}}};
  #mv_json;
  #ms_config;
  constructor() {
    this.me = new abap.types.ABAPObject();
    this.me.set(this);
    this.INTERNAL_ID = abap.internalIdCounter++;
    this.FRIENDS_ACCESS_INSTANCE = {
      "setup": this.#setup.bind(this),
      "double_add_config": this.#double_add_config.bind(this),
      "to_json": this.#to_json.bind(this),
      "from_json": this.#from_json.bind(this),
    };
    this.#mv_json = new abap.types.String({qualifiedName: "STRING"});
    this.FRIENDS_ACCESS_INSTANCE["mv_json"] = this.#mv_json;
    this.#ms_config = new abap.types.Structure({
    "type": new abap.types.Character(4, {"qualifiedName":"zif_abapgit_data_config=>ty_data_type"}),
    "name": new abap.types.Character(40, {}),
    "skip_initial": new abap.types.Character(1, {"qualifiedName":"ABAP_BOOL","ddicName":"ABAP_BOOL"}),
    "where": abap.types.TableFactory.construct(new abap.types.String({qualifiedName: "STRING"}), {"withHeader":false,"keyType":"DEFAULT","primaryKey":{"isUnique":false,"type":"STANDARD","keyFields":[],"name":"primary_key"},"secondary":[]}, "STRING_TABLE")}, "zif_abapgit_data_config=>ty_config", undefined, {}, {});
    this.FRIENDS_ACCESS_INSTANCE["ms_config"] = this.#ms_config;
  }
  async constructor_(INPUT) {
    if (super.constructor_) { await super.constructor_(INPUT); }
    return this;
  }
  async #setup() {
    this.#mv_json.set(abap.operators.concat(new abap.types.String().set(`\{\n`),abap.operators.concat(new abap.types.String().set(`  "name": "DUMMY",\n`),abap.operators.concat(new abap.types.String().set(`  "skip_initial": false,\n`),abap.operators.concat(new abap.types.String().set(`  "type": "TABU",\n`),abap.operators.concat(new abap.types.String().set(`  "where": [\n`),abap.operators.concat(new abap.types.String().set(`    "DUMMY"\n`),abap.operators.concat(new abap.types.String().set(`  ]\n`),new abap.types.String().set(`\}`)))))))));
    this.#ms_config.get().type.set(abap.Classes['ZIF_ABAPGIT_DATA_CONFIG'].zif_abapgit_data_config$c_data_type.get().tabu);
    this.#ms_config.get().name.set(abap.CharacterFactory.get(5, 'DUMMY'));
    abap.statements.append({source: abap.CharacterFactory.get(5, 'DUMMY'), target: this.#ms_config.get().where});
  }
  async #double_add_config() {
    let li_config = new abap.types.ABAPObject({qualifiedName: "ZIF_ABAPGIT_DATA_CONFIG", RTTIName: "\\INTERFACE=ZIF_ABAPGIT_DATA_CONFIG"});
    let ls_config = new abap.types.Structure({
    "type": new abap.types.Character(4, {"qualifiedName":"zif_abapgit_data_config=>ty_data_type"}),
    "name": new abap.types.Character(40, {}),
    "skip_initial": new abap.types.Character(1, {"qualifiedName":"ABAP_BOOL","ddicName":"ABAP_BOOL"}),
    "where": abap.types.TableFactory.construct(new abap.types.String({qualifiedName: "STRING"}), {"withHeader":false,"keyType":"DEFAULT","primaryKey":{"isUnique":false,"type":"STANDARD","keyFields":[],"name":"primary_key"},"secondary":[]}, "STRING_TABLE")}, "zif_abapgit_data_config=>ty_config", undefined, {}, {});
    li_config.set(await (new abap.Classes['ZCL_ABAPGIT_DATA_CONFIG']()).constructor_());
    ls_config.get().name.set(abap.CharacterFactory.get(5, 'HELLO'));
    ls_config.get().type.set(abap.Classes['ZIF_ABAPGIT_DATA_CONFIG'].zif_abapgit_data_config$c_data_type.get().tabu);
    abap.statements.append({source: abap.CharacterFactory.get(3, 'foo'), target: ls_config.get().where});
    await li_config.get().zif_abapgit_data_config$add_config({is_config: ls_config});
    ls_config.get().where.clear();
    abap.statements.append({source: abap.CharacterFactory.get(3, 'bar'), target: ls_config.get().where});
    await li_config.get().zif_abapgit_data_config$add_config({is_config: ls_config});
    await abap.Classes['CL_ABAP_UNIT_ASSERT'].assert_equals({act: (abap.builtin.lines({val: (await li_config.get().zif_abapgit_data_config$get_configs())})), exp: abap.IntegerFactory.get(1)});
  }
  async #to_json() {
    let li_config = new abap.types.ABAPObject({qualifiedName: "ZIF_ABAPGIT_DATA_CONFIG", RTTIName: "\\INTERFACE=ZIF_ABAPGIT_DATA_CONFIG"});
    let lt_files = abap.types.TableFactory.construct(new abap.types.Structure({
    "path": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_GIT_DEFINITIONS=>TY_FILE_SIGNATURE-PATH"}),
    "filename": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_GIT_DEFINITIONS=>TY_FILE_SIGNATURE-FILENAME"}),
    "sha1": new abap.types.Character(40, {"qualifiedName":"zif_abapgit_git_definitions=>ty_sha1"}),
    "data": new abap.types.XString({qualifiedName: "ZIF_ABAPGIT_GIT_DEFINITIONS=>TY_FILE-DATA"})}, "zif_abapgit_git_definitions=>ty_file", undefined, {}, {}), {"withHeader":false,"keyType":"DEFAULT","primaryKey":{"name":"primary_key","type":"STANDARD","isUnique":false,"keyFields":[]},"secondary":[{"name":"file_path","type":"SORTED","isUnique":true,"keyFields":["PATH","FILENAME"]},{"name":"file","type":"SORTED","isUnique":false,"keyFields":["FILENAME"]}]}, "zif_abapgit_git_definitions=>ty_files_tt");
    let ls_file = new abap.types.Structure({
    "path": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_GIT_DEFINITIONS=>TY_FILE_SIGNATURE-PATH"}),
    "filename": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_GIT_DEFINITIONS=>TY_FILE_SIGNATURE-FILENAME"}),
    "sha1": new abap.types.Character(40, {"qualifiedName":"zif_abapgit_git_definitions=>ty_sha1"}),
    "data": new abap.types.XString({qualifiedName: "ZIF_ABAPGIT_GIT_DEFINITIONS=>TY_FILE-DATA"})}, "zif_abapgit_git_definitions=>ty_file", undefined, {}, {});
    let lv_json = new abap.types.String({qualifiedName: "STRING"});
    li_config.set(await (new abap.Classes['ZCL_ABAPGIT_DATA_CONFIG']()).constructor_());
    await li_config.get().zif_abapgit_data_config$add_config({is_config: this.#ms_config});
    lt_files.set((await li_config.get().zif_abapgit_data_config$to_json()));
    await abap.Classes['CL_ABAP_UNIT_ASSERT'].assert_equals({act: abap.builtin.lines({val: lt_files}), exp: abap.IntegerFactory.get(1)});
    abap.statements.readTable(lt_files,{index: abap.IntegerFactory.get(1),
      into: ls_file});
    await abap.Classes['CL_ABAP_UNIT_ASSERT'].assert_subrc();
    await abap.Classes['CL_ABAP_UNIT_ASSERT'].assert_not_initial({act: ls_file.get().data});
    lv_json.set((await abap.Classes['ZCL_ABAPGIT_CONVERT'].xstring_to_string_utf8({iv_data: ls_file.get().data})));
    await abap.Classes['CL_ABAP_UNIT_ASSERT'].assert_equals({act: lv_json, exp: this.#mv_json});
    await this.#from_json({it_files: lt_files});
  }
  async #from_json(INPUT) {
    let it_files = INPUT?.it_files;
    if (it_files?.getQualifiedName === undefined || it_files.getQualifiedName() !== "ZIF_ABAPGIT_GIT_DEFINITIONS=>TY_FILES_TT") { it_files = undefined; }
    if (it_files === undefined) { it_files = abap.types.TableFactory.construct(new abap.types.Structure({
    "path": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_GIT_DEFINITIONS=>TY_FILE_SIGNATURE-PATH"}),
    "filename": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_GIT_DEFINITIONS=>TY_FILE_SIGNATURE-FILENAME"}),
    "sha1": new abap.types.Character(40, {"qualifiedName":"zif_abapgit_git_definitions=>ty_sha1"}),
    "data": new abap.types.XString({qualifiedName: "ZIF_ABAPGIT_GIT_DEFINITIONS=>TY_FILE-DATA"})}, "zif_abapgit_git_definitions=>ty_file", undefined, {}, {}), {"withHeader":false,"keyType":"DEFAULT","primaryKey":{"name":"primary_key","type":"STANDARD","isUnique":false,"keyFields":[]},"secondary":[{"name":"file_path","type":"SORTED","isUnique":true,"keyFields":["PATH","FILENAME"]},{"name":"file","type":"SORTED","isUnique":false,"keyFields":["FILENAME"]}]}, "zif_abapgit_git_definitions=>ty_files_tt").set(INPUT.it_files); }
    let li_config = new abap.types.ABAPObject({qualifiedName: "ZIF_ABAPGIT_DATA_CONFIG", RTTIName: "\\INTERFACE=ZIF_ABAPGIT_DATA_CONFIG"});
    li_config.set(await (new abap.Classes['ZCL_ABAPGIT_DATA_CONFIG']()).constructor_());
    await li_config.get().zif_abapgit_data_config$from_json({it_files: it_files});
    await abap.Classes['CL_ABAP_UNIT_ASSERT'].assert_equals({act: (abap.builtin.lines({val: (await li_config.get().zif_abapgit_data_config$get_configs())})), exp: abap.IntegerFactory.get(1)});
  }
}
abap.Classes['CLAS-ZCL_ABAPGIT_DATA_CONFIG-LTCL_TEST'] = ltcl_test;
export {ltcl_test};