From cc0c0f53d14bc1ebeea2e402c5d292ff79d6e746 Mon Sep 17 00:00:00 2001
From: Tifenn Guillas <tifenn.guillas@lam.fr>
Date: Mon, 20 Sep 2021 14:02:22 +0200
Subject: [PATCH] Tests on detail service => DONE

---
 .../store/services/detail.service.spec.ts     | 64 +++++++++----------
 .../instance/store/services/detail.service.ts |  2 +-
 2 files changed, 32 insertions(+), 34 deletions(-)

diff --git a/client/src/app/instance/store/services/detail.service.spec.ts b/client/src/app/instance/store/services/detail.service.spec.ts
index 6bcbf4e1..e4acc736 100644
--- a/client/src/app/instance/store/services/detail.service.spec.ts
+++ b/client/src/app/instance/store/services/detail.service.spec.ts
@@ -11,48 +11,46 @@ describe('DetailService', () => {
         TestBed.configureTestingModule({
             imports: [HttpClientTestingModule],
             providers: [
-                { provide: AppConfigService, useValue: { apiUrl: 'http://testing.com' } },
+                { provide: AppConfigService, useValue: { apiUrl: 'http://testing.com', servicesUrl: 'http://testingService.com' }},
                 DetailService
             ]
         });
         service = TestBed.inject(DetailService);
     });
 
-    it('#retrieveData() should return an Observable<any[]>',
-        inject([HttpTestingController, DetailService],(httpMock: HttpTestingController, detailervice: DetailService) => {
-                const mockResponse = ['myData'];
+    it('#retrieveObject() should return an Observable<any[]>',
+        inject([HttpTestingController, DetailService],(httpMock: HttpTestingController, detailService: DetailService) => {
+            const mockResponse = ['myData'];
 
-                detailervice.retrieveData('myQuery').subscribe((event: any[]) => {
-                    expect(event).toEqual(mockResponse);
-                });
+            detailService.retrieveObject('myDataset', 1, 'myObject', [2,3]).subscribe((event: any[]) => {
+                expect(event).toEqual(mockResponse);
+            });
 
-                const mockRequest = httpMock.expectOne('http://testing.com/search/myQuery');
+            const mockRequest = httpMock.expectOne('http://testing.com/search/myDataset?c=1::eq::myObject&a=2;3');
 
-                expect(mockRequest.cancelled).toBeFalsy();
-                expect(mockRequest.request.responseType).toEqual('json');
-                mockRequest.flush(mockResponse);
+            expect(mockRequest.cancelled).toBeFalsy();
+            expect(mockRequest.request.responseType).toEqual('json');
+            mockRequest.flush(mockResponse);
 
-                httpMock.verify();
-            }
-        )
+            httpMock.verify();
+        })
     );
 
-    // it('#retrieveDataLength() should return an Observable<{ nb: number }[]>',
-    //     inject([HttpTestingController, SearchService],(httpMock: HttpTestingController, searchService: SearchService) => {
-    //             const mockResponse = [{ nb: 1 }];
-    //
-    //             searchService.retrieveDataLength('myQuery').subscribe((event: { nb: number }[]) => {
-    //                 expect(event).toEqual(mockResponse);
-    //             });
-    //
-    //             const mockRequest = httpMock.expectOne('http://testing.com/search/myQuery');
-    //
-    //             expect(mockRequest.cancelled).toBeFalsy();
-    //             expect(mockRequest.request.responseType).toEqual('json');
-    //             mockRequest.flush(mockResponse);
-    //
-    //             httpMock.verify();
-    //         }
-    //     )
-    // );
-});
\ No newline at end of file
+    it('#retrieveSpectra() should return an Observable<string>',
+        inject([HttpTestingController, DetailService],(httpMock: HttpTestingController, detailService: DetailService) => {
+            const mockResponse = 'mySpectraData';
+
+            detailService.retrieveSpectra('myDataset', 'mySpectraFile').subscribe((event: string) => {
+                expect(event).toEqual(mockResponse);
+            });
+
+            const mockRequest = httpMock.expectOne('http://testingService.com/spectra-to-csv/myDataset?filename=mySpectraFile');
+
+            expect(mockRequest.cancelled).toBeFalsy();
+            expect(mockRequest.request.responseType).toEqual('text');
+            mockRequest.flush(mockResponse);
+
+            httpMock.verify();
+        })
+    );
+});
diff --git a/client/src/app/instance/store/services/detail.service.ts b/client/src/app/instance/store/services/detail.service.ts
index 6fb73079..78b90758 100644
--- a/client/src/app/instance/store/services/detail.service.ts
+++ b/client/src/app/instance/store/services/detail.service.ts
@@ -38,7 +38,7 @@ export class DetailService {
     }
 
     /**
-     * Retrieves object details for the given parameters.
+     * Retrieves spectra data for the given spectra file.
      *
      * @param  {string} dname - The dataset name.
      * @param  {string} spectraFile - The spectra file name.
-- 
GitLab