From 459b4a754fbb3cba374caf78dc726751d03bb0ba Mon Sep 17 00:00:00 2001
From: dangapay <divin.angapay@lam.fr>
Date: Fri, 28 Oct 2022 14:04:30 +0200
Subject: [PATCH] add test for admin/instance/dataset/containers

---
 .../containers/configure-dataset.component.spec.ts | 10 +++++++---
 .../containers/new-dataset.component.spec.ts       | 14 ++++++++------
 .../containers/new-webpage.component.spec.ts       | 12 ++++--------
 3 files changed, 19 insertions(+), 17 deletions(-)

diff --git a/client/src/app/admin/instance/dataset/containers/configure-dataset.component.spec.ts b/client/src/app/admin/instance/dataset/containers/configure-dataset.component.spec.ts
index 13fdfc47..b97cfca6 100644
--- a/client/src/app/admin/instance/dataset/containers/configure-dataset.component.spec.ts
+++ b/client/src/app/admin/instance/dataset/containers/configure-dataset.component.spec.ts
@@ -24,7 +24,7 @@ import * as attributeActions from 'src/app/metamodel/actions/attribute.actions';
 import * as adminFileExplorerActions from 'src/app/admin/store/actions/admin-file-explorer.actions';
 import * as imageActions from 'src/app/metamodel/actions/image.actions';
 import * as fileActions from 'src/app/metamodel/actions/file.actions';
-import { of } from 'rxjs';
+import { firstValueFrom, of } from 'rxjs';
 import { Attribute, ConeSearchConfig, CriteriaFamily, DetailConfig, File, Image, OutputCategory, OutputFamily } from 'src/app/metamodel/models';
 
 describe('[admin][instance][dataset][containers] ConfigureDatasetComponent', () => {
@@ -32,6 +32,9 @@ describe('[admin][instance][dataset][containers] ConfigureDatasetComponent', ()
     let fixture: ComponentFixture<ConfigureDatasetComponent>;
     let store: MockStore;
     let attribute: Attribute;
+    let mockparamMap = {
+        get: jest.fn().mockImplementation((name: string) => name)
+    }
     beforeEach(() => {
         TestBed.configureTestingModule({
             declarations: [
@@ -41,7 +44,7 @@ describe('[admin][instance][dataset][containers] ConfigureDatasetComponent', ()
                 {
                     provide: ActivatedRoute,
                     useValue: {
-                        queryParamMap: of({ tab_selected: 1 }),
+                        queryParamMap: of(mockparamMap),
                     },
                 },
                 provideMockStore({}),
@@ -58,8 +61,9 @@ describe('[admin][instance][dataset][containers] ConfigureDatasetComponent', ()
         fixture.detectChanges();
     });
 
-    it('should create the component', () => {
+    it('should create the component and init tabSelect', async () => {
         expect(component).toBeTruthy();
+        expect(await firstValueFrom(component.tabSelected)).toEqual('tab_selected');
     });
     it('store should dispatch loadColumnList action', () => {
         let spy = jest.spyOn(store, 'dispatch');
diff --git a/client/src/app/admin/instance/dataset/containers/new-dataset.component.spec.ts b/client/src/app/admin/instance/dataset/containers/new-dataset.component.spec.ts
index cbf4db5f..0eeab079 100644
--- a/client/src/app/admin/instance/dataset/containers/new-dataset.component.spec.ts
+++ b/client/src/app/admin/instance/dataset/containers/new-dataset.component.spec.ts
@@ -11,7 +11,7 @@ import { ReactiveFormsModule } from '@angular/forms';
 import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
 import { MockStore, provideMockStore } from '@ngrx/store/testing';
 import { ActivatedRoute, Router } from '@angular/router';
-import { of } from 'rxjs';
+import { firstValueFrom, of } from 'rxjs';
 import { NewDatasetComponent } from './new-dataset.component';
 import * as instanceSelector from 'src/app/metamodel/selectors/instance.selector';
 import { Dataset, Instance } from 'src/app/metamodel/models';
@@ -19,14 +19,15 @@ import { RouterTestingModule } from '@angular/router/testing';
 import * as tableActions from 'src/app/admin/store/actions/table.actions';
 import * as adminFileExplorerActions from 'src/app/admin/store/actions/admin-file-explorer.actions';
 import * as datasetActions from 'src/app/metamodel/actions/dataset.actions';
-const params = {
-    get: jest.fn()
-}
+
 describe('[admin][instance][dataset][containers] NewDatasetComponent', () => {
     let component: NewDatasetComponent;
     let fixture: ComponentFixture<NewDatasetComponent>;
     let store: MockStore;
     let mockInstanceSelectorSelectInstanceByRouteName;
+    let mockparamMap = {
+        get: jest.fn().mockImplementation((name: string) => 0)
+    }
     beforeEach(() => {
         TestBed.configureTestingModule({
             declarations: [
@@ -36,7 +37,7 @@ describe('[admin][instance][dataset][containers] NewDatasetComponent', () => {
                 {
                     provide: ActivatedRoute,
                     useValue: {
-                        queryParamMap: of(params)
+                        queryParamMap: of(mockparamMap)
                     }
                 },
                 provideMockStore({})
@@ -59,8 +60,9 @@ describe('[admin][instance][dataset][containers] NewDatasetComponent', () => {
 
     });
 
-    it('should create the component', () => {
+    it('should create the component', async() => {
         expect(component).toBeTruthy()
+        expect(await firstValueFrom(component.idDatasetFamily)).toEqual(0);
     });
     it('store should dispatch tableActions.loadTableList', () => {
         let idDatabase: number = 1;
diff --git a/client/src/app/admin/instance/webpage/containers/new-webpage.component.spec.ts b/client/src/app/admin/instance/webpage/containers/new-webpage.component.spec.ts
index 3fd5c4d7..e814dc7f 100644
--- a/client/src/app/admin/instance/webpage/containers/new-webpage.component.spec.ts
+++ b/client/src/app/admin/instance/webpage/containers/new-webpage.component.spec.ts
@@ -12,7 +12,7 @@ import { ActivatedRoute } from '@angular/router';
 import { ReactiveFormsModule } from '@angular/forms';
 import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
 
-import { of } from 'rxjs';
+import { firstValueFrom, of } from 'rxjs';
 import { MockStore, provideMockStore } from '@ngrx/store/testing';
 
 import { Webpage } from 'src/app/metamodel/models';
@@ -38,7 +38,7 @@ describe('[admin][instance][webpage][containers] NewWebpageComponent ', () => {
                 {
                     provide: ActivatedRoute,
                     useValue: {
-                        queryParamMap: of([{ id_webpage_family: 1 }]),
+                        queryParamMap: of({ get: jest.fn().mockImplementation(() => 1) }),
                     },
                 },
                 provideMockStore({}),
@@ -51,8 +51,9 @@ describe('[admin][instance][webpage][containers] NewWebpageComponent ', () => {
         fixture.detectChanges();
     });
 
-    it('should create the component', () => {
+    it('should create the component', async () => {
         expect(component).toBeTruthy();
+        expect(await firstValueFrom(component.idWebpageFamily)).toEqual(1);
     });
 
     it('dispatch webpageActions.addWebPage with the new webpage values', () => {
@@ -62,9 +63,4 @@ describe('[admin][instance][webpage][containers] NewWebpageComponent ', () => {
         expect(spy).toHaveBeenCalledWith(webpageActions.addWebpage({ webpage }));
     });
 
-    it('idWbPageFamily should be 1', () => {
-        component.idWebpageFamily.subscribe(value => {
-            //expect(value).toEqual(1);
-        })
-    })
 });
-- 
GitLab