(function () {
     'use strict';
 
-    appDS2.controller("reportModalInstanceController", ["$uibModalInstance", "$scope", "$window", "ReportService", "errorMsg", "requestInfo", reportModalInstanceController]);
+    appDS2.controller("reportModalInstanceController", ["$uibModalInstance", "$scope", "$window", "DataService", "ReportService", "errorMsg", "requestInfo", reportModalInstanceController]);
 
-    function reportModalInstanceController($uibModalInstance, $scope, $window, ReportService, errorMsg, requestInfo) {
+    function reportModalInstanceController($uibModalInstance, $scope, $window, DataService, ReportService, errorMsg, requestInfo) {
         const vm = this;
 
         const init = function() {
             vm.timestamp =  ReportService.getReportTimeStamp();
             vm.downloadEnable = false;
+            $scope.isSpinnerVisible = true;
+
             ReportService.getReportData(requestInfo).then(
                 response => {
+                    $scope.isSpinnerVisible = false;
                     vm.saveReportData(response);
                 }, response => {
+                    $scope.isSpinnerVisible = false;
                     vm.printReportFail(response);
                 });
         };
 
         vm.saveReportData = function(response) {
-            vm.report = errorMsg + "\n\n Collected data from API:\n" + JSON.stringify(response.data,  null, "\t") ;
+            vm.report =
+                "Selected test API: \n" + DataService.getMsoRequestParametersTestApi()
+                + "\n\n Data from GUI:\n" + errorMsg
+                + "\n\n Collected data from API:\n" + JSON.stringify(response.data,  null, "\t") ;
 
             const blob = new Blob([ vm.report ], { type : 'text/plain' });
             vm.download = ($window.URL || $window.webkitURL).createObjectURL( blob );
 
 const jestMock = require('jest-mock');
 
 describe('Testing error report creation', () => {
+    const mockAPI = "testAPI";
+
     let $notNeeded;
     let $controller;
 
     let mockWindow;
     let mockReportService;
     let testErrorMsg;
+    let mockDataService;
 
     let correctResponse;
     let failResponse;
     beforeEach(inject(function (_$controller_) {
         $notNeeded = jestMock.fn();
         mockHttp = jestMock.fn();
+        mockDataService = jestMock.fn();
+
+        mockDataService.getMsoRequestParametersTestApi = function() {
+            return mockAPI;
+        };
 
         mockModalInstance = {};
         mockWindow = {
             $scope: $notNeeded,
             $window: mockWindow,
             ReportService: mockReportService,
+            DataService: mockDataService,
             errorMsg: testErrorMsg,
             requestInfo: mockInfo
         });
 
         $controller.saveReportData(correctResponse);
 
-        expect($controller.report).toEqual(testErrorMsg + "\n\n Collected data from API:\n" + JSON.stringify(correctResponse.data,  null, "\t"));
+        expect($controller.report).toEqual(
+            "Selected test API: \n" + mockAPI
+            + "\n\n Data from GUI:\n" + testErrorMsg
+            + "\n\n Collected data from API:\n" + JSON.stringify(correctResponse.data,  null, "\t"));
         expect($controller.downloadEnable).toBeTruthy();
         expect($controller.download).toEqual(new Blob([ $controller.report ], { type : 'text/plain' }));
     });
 
 (function () {
     'use strict';
 
-    appDS2.controller("reportModalController", ["$uibModalInstance", "$scope", "$window", "ReportService", "errorMsg", reportModalController]);
+    appDS2.controller("reportModalController", ["$uibModalInstance", "$scope", "$window", "DataService", "ReportService", "errorMsg", reportModalController]);
 
-    function reportModalController($uibModalInstance, $scope, $window, ReportService, errorMsg) {
+    function reportModalController($uibModalInstance, $scope, $window, DataService, ReportService, errorMsg) {
         const vm = this;
 
         const init = function() {
             vm.timestamp =  ReportService.getReportTimeStamp();
             vm.downloadEnable = false;
+            $scope.isSpinnerVisible = true;
+
             ReportService.getReportData({}).then(
                 response => {
+                    $scope.isSpinnerVisible = false;
                     vm.saveReportData(response);
                 }, response => {
+                    $scope.isSpinnerVisible = false;
                     vm.printReportFail(response);
                 });
         };
 
         vm.saveReportData = function(response) {
-            vm.report = errorMsg + "\n\n Collected data from API:\n" + JSON.stringify(response.data,  null, "\t") ;
+            vm.report =
+                "Selected test API: \n" + DataService.getMsoRequestParametersTestApi()
+                + "\n\n Data from GUI:\n" + errorMsg
+                + "\n\n Collected data from API:\n" + JSON.stringify(response.data,  null, "\t") ;
+
 
             const blob = new Blob([ vm.report ], { type : 'text/plain' });
             vm.download = ($window.URL || $window.webkitURL).createObjectURL( blob );
 
 const jestMock = require('jest-mock');
 
 describe('Testing error report creation', () => {
+    const mockAPI = "testAPI";
+
     let $notNeeded;
     let $controller;
 
     let mockWindow;
     let mockReportService;
     let testErrorMsg;
+    let mockDataService;
 
     let correctResponse;
     let failResponse;
     beforeEach(inject(function (_$controller_) {
         $notNeeded = jestMock.fn();
         mockHttp = jestMock.fn();
+        mockDataService = jestMock.fn();
+
+        mockDataService.getMsoRequestParametersTestApi = function() {
+            return mockAPI;
+        };
 
         mockModalInstance = {};
         mockWindow = {
             $scope: $notNeeded,
             $window: mockWindow,
             ReportService: mockReportService,
-            errorMsg: testErrorMsg
+            errorMsg: testErrorMsg,
+            DataService: mockDataService
         });
     }));
 
 
         $controller.saveReportData(correctResponse);
 
-        expect($controller.report).toEqual(testErrorMsg + "\n\n Collected data from API:\n" + JSON.stringify(correctResponse.data,  null, "\t"));
+        expect($controller.report).toEqual(
+            "Selected test API: \n" + mockAPI
+            + "\n\n Data from GUI:\n" + testErrorMsg
+            + "\n\n Collected data from API:\n" + JSON.stringify(correctResponse.data,  null, "\t"));
+
         expect($controller.downloadEnable).toBeTruthy();
         expect($controller.download).toEqual(new Blob([ $controller.report ], { type : 'text/plain' }));
     });
 
   ============LICENSE_END=========================================================
   -->
 
+<link rel="stylesheet" type="text/css" href="app/vid/styles/serviceModels.css" />
 <link rel="stylesheet" type="text/css" href="app/vid/styles/modals.css">
 <link rel="stylesheet" type="text/css" href="app/vid/styles/modal-create-new.css" />
 <link rel="stylesheet" type="text/css" href="app/vid/scripts/modals/report-modal/report-modal.css" />
 
 <div class="modal-header">
     <h3 id="modal-title">Error report</h3>
+    <span class="statusLine" ng-hide="!isSpinnerVisible">
+                       <img src="app/vid/images/spinner.gif">
+    </span>
 </div>
 <div class="modal-body">
     <textarea style="height: 500px">{{vm.report}}</textarea>