JS Как проверить файл, который является закрытым, но не может изменить его вообще

У меня есть скрипт JS под (document).ready и мой технический директор попросил меня написать тест, который передает значение глобальной переменной: var reportId = document.getElementById("report_id").value; и сравните результаты, если они ожидаются. Он сказал, что я не могу изменить исходный код вообще. Он сказал, что это возможно, но я не знаю как. Я должен передать результаты, которые должны быть обработаны этим сценарием, и сравнить ожидаемый результат.

JS:

$(document).ready(function() {

  var resultsLoaded = false;
  var reportId = document.getElementById("report_id").value;
  var resultsTable;

  spAddSpinner("#running");
  getStatus();

  function statusTimeout() {
    setTimeout(function(){
      getStatus();
    }, 10000);
  }

  function getResults() {
    if (resultsLoaded) {
      resultsTable.ajax.reload();
    } else {
      resultsTable = $('#results').DataTable( {
        "ajax": {
          "url": "/ad_hoc_reports/" + reportId + "/run_results",
          "dataSrc": "data"
        },
        "pageLength": pageLength,
        "lengthMenu": pageSettings
      });
      resultsLoaded = true;
    }
  }

  function getStatus() {
    $.ajax({
      url: "/ad_hoc_reports/" + reportId + "/run_progress",
      type: "GET",
      dataType: 'json',
      error: function (xhr, status, error) {
        displayError("An error has occurred obtaining the run status.");
      },
      success: function(result){
        if (!result.running) {
          getResults();
          spRemoveSpinner("#running");
        } else {
          statusTimeout();
          // Just load the table once to set up page nicely.
          if (!resultsLoaded) {
            getResults();
          }
        }
      }
    });
  }

}); 

То, что я должен передать, - это отчет YAML, который называется reportId, Скрипт обработает его и получит результаты, так как результаты должны быть примерно такими:

var run_results = {
    "columns": [{"data": "Form Identifier"}, {"data": "Form Version"}, {"data": "Question Text"}, {"data": "Mapping"}, {"data": "Submission"}, {"data": "C Code"}],
    "data": [["CDASH DEMO", "0.0.1", "Units", "HEIGHT_VSORRESU", "in", "C48500"],
      ["CDASH DEMO", "0.0.1", "Pulse Unit", "PULSE_VSORRESU", "beats/min", "C49673"],
      ["CDASH DEMO", "0.0.1", "Blood Pressure Unit", "BP_SYSBP_ORRESU", "mmHg", "C49670"],
      ["CDASH DEMO", "0.0.1", "Blood Pressure Unit", "BP_DIABP_VSORRESU", "mmHg", "C49670"]]
  };

Таким образом, приведенный выше JSON является результатом после обработки файла YAML. Эта информация содержится в файле YAML, который является отчетом, а getResults получает эту информацию в формате JSON. Итак, что я должен сравнить, так это то, что если данные YAML обрабатываются хорошо, а вывод такой, какой должен быть в JSON.

Мне нужны идеи для этого и примеры.

Я думал о том, как использовать Sinon spy но понятия не имею.

0 ответов

Другие вопросы по тегам