From 3fe21450cbffbc106f3050233a39501cfab54e57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Agneray?= <francois.agneray@lam.fr> Date: Wed, 5 Oct 2022 09:34:54 +0200 Subject: [PATCH] #79 => done --- .../components/dataset-group-form.component.spec.ts | 12 +++++++----- .../components/dataset-group-table.component.spec.ts | 4 +++- .../instance/dataset-group/components/index.spec.ts | 12 ++++++------ .../containers/dataset-group-list.component.spec.ts | 9 ++++++--- .../containers/edit-dataset-group.component.spec.ts | 5 ++++- .../containers/new-dataset-group.component.spec.ts | 7 ++++--- .../dataset-group-title.resolver.spec.ts | 12 +++++------- .../edit-dataset-group-title.resolver.spec.ts | 7 +++++-- 8 files changed, 40 insertions(+), 28 deletions(-) diff --git a/client/src/app/admin/instance/dataset-group/components/dataset-group-form.component.spec.ts b/client/src/app/admin/instance/dataset-group/components/dataset-group-form.component.spec.ts index 4231b6e9..8305502f 100644 --- a/client/src/app/admin/instance/dataset-group/components/dataset-group-form.component.spec.ts +++ b/client/src/app/admin/instance/dataset-group/components/dataset-group-form.component.spec.ts @@ -9,7 +9,9 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; + import { MockStore, provideMockStore } from '@ngrx/store/testing'; + import { Dataset, DatasetGroup } from 'src/app/metamodel/models'; import { DatasetGroupFormComponent } from './dataset-group-form.component'; @@ -38,8 +40,8 @@ describe('[admin][instance][dataset-group][components] DatasetGroupFormComponent public: true, server_link_enabled: false, table_ref: '' - }; + beforeEach(() => { TestBed.configureTestingModule({ declarations: [ @@ -71,20 +73,21 @@ describe('[admin][instance][dataset-group][components] DatasetGroupFormComponent expect(spy).toHaveBeenCalledTimes(1); expect(spy).toHaveBeenCalledWith({ ...datasetGroup, ...component.form.value, datasets: component.groupDatasets }) }); + it('submit() should emit form.value and datasets', () => { component.datasetGroup = null; component.submit(); expect(spy).toHaveBeenCalledTimes(1); expect(spy).toHaveBeenCalledWith({ ...component.form.value, datasets: component.groupDatasets }) }); - it('getAvailableDatasets() should return an array with 2 elements', () => { + it('getAvailableDatasets() should return an array with 2 elements', () => { component.datasetList = [{ ...dataset, name: 'test1' }, { ...dataset, name: 'test2' }, { ...dataset, name: 'test1' }]; component.groupDatasets = ['test2']; let result = component.getAvailableDatasets(); expect(result.length).toEqual(2); - }); + it('addDatasets(selectElement) should add the dataset in groupDataSets array', () => { let selectElement = { options: [{ selected: true, value: { ...dataset, name: 'test' } }] }; component.groupDatasets = []; @@ -93,6 +96,7 @@ describe('[admin][instance][dataset-group][components] DatasetGroupFormComponent expect(component.groupDatasets.length).toEqual(1); expect(component.groupDatasets[0]).toEqual(selectElement.options[0].value) }); + it('removeDatasets(selectElement) should remove the dataset from groupDataSets', () => { let selectElement = { options: [{ selected: true, value: dataset }] }; component.groupDatasets = [dataset]; @@ -100,6 +104,4 @@ describe('[admin][instance][dataset-group][components] DatasetGroupFormComponent component.removeDatasets(selectElement) expect(component.groupDatasets.length).toEqual(0); }); - - }) diff --git a/client/src/app/admin/instance/dataset-group/components/dataset-group-table.component.spec.ts b/client/src/app/admin/instance/dataset-group/components/dataset-group-table.component.spec.ts index 4964ae90..cd6c22a6 100644 --- a/client/src/app/admin/instance/dataset-group/components/dataset-group-table.component.spec.ts +++ b/client/src/app/admin/instance/dataset-group/components/dataset-group-table.component.spec.ts @@ -9,13 +9,16 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; + import { MockStore, provideMockStore } from '@ngrx/store/testing'; + import { DatasetGroupTableComponent } from './dataset-group-table.component'; describe('[admin][instance][dataset-group][components] DatasetGroupTableComponent', () => { let component: DatasetGroupTableComponent; let fixture: ComponentFixture<DatasetGroupTableComponent>; let store: MockStore; + beforeEach(() => { TestBed.configureTestingModule({ declarations: [ @@ -37,5 +40,4 @@ describe('[admin][instance][dataset-group][components] DatasetGroupTableComponen it('should create the component', () => { expect(component).toBeTruthy(); }); - }) diff --git a/client/src/app/admin/instance/dataset-group/components/index.spec.ts b/client/src/app/admin/instance/dataset-group/components/index.spec.ts index 51090ec5..5ebd1117 100644 --- a/client/src/app/admin/instance/dataset-group/components/index.spec.ts +++ b/client/src/app/admin/instance/dataset-group/components/index.spec.ts @@ -7,11 +7,11 @@ * file that was distributed with this source code. */ - import { dummiesComponents } from './index'; +import { dummiesComponents } from './index'; - describe('[[admin][instance][webpage][components]index', () => { - it('Test index components', () => { - expect(dummiesComponents.length).toEqual(2); - }); - }); +describe('[[admin][instance][webpage][components]index', () => { + it('Test index components', () => { + expect(dummiesComponents.length).toEqual(2); + }); +}); \ No newline at end of file diff --git a/client/src/app/admin/instance/dataset-group/containers/dataset-group-list.component.spec.ts b/client/src/app/admin/instance/dataset-group/containers/dataset-group-list.component.spec.ts index 7c3f93db..246d87b0 100644 --- a/client/src/app/admin/instance/dataset-group/containers/dataset-group-list.component.spec.ts +++ b/client/src/app/admin/instance/dataset-group/containers/dataset-group-list.component.spec.ts @@ -11,21 +11,24 @@ import { Component } from '@angular/core'; import { ComponentFixture, TestBed } from '@angular/core/testing'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { RouterTestingModule } from '@angular/router/testing'; + import { MockStore, provideMockStore } from '@ngrx/store/testing'; + import { DatasetGroup } from 'src/app/metamodel/models'; import { DatasetGroupListComponent } from './dataset-group-list.component'; import * as datasetGroupActions from 'src/app/metamodel/actions/dataset-group.actions'; + @Component({ template: '' }) -class DummyComponent { -} +class DummyComponent { } describe('[admin][instance][dataset-group][containers] DatasetGroupListComponent', () => { let component: DatasetGroupListComponent; let fixture: ComponentFixture<DatasetGroupListComponent>; let store: MockStore; let spy; + beforeEach(() => { TestBed.configureTestingModule({ declarations: [ @@ -50,6 +53,7 @@ describe('[admin][instance][dataset-group][containers] DatasetGroupListComponent it('should create the component', () => { expect(component).toBeTruthy(); }); + it('deleteDatasetGroup(datasetGroup: DatasetGroup) should dispatch deleteDatasetGroup action', () => { let datasetGroup: DatasetGroup = { datasets: [], id: 1, instance_name: 'test', role: 'test' }; spy = jest.spyOn(store, 'dispatch'); @@ -57,5 +61,4 @@ describe('[admin][instance][dataset-group][containers] DatasetGroupListComponent expect(spy).toHaveBeenCalledTimes(1); expect(spy).toHaveBeenCalledWith(datasetGroupActions.deleteDatasetGroup({ datasetGroup })) }); - }) diff --git a/client/src/app/admin/instance/dataset-group/containers/edit-dataset-group.component.spec.ts b/client/src/app/admin/instance/dataset-group/containers/edit-dataset-group.component.spec.ts index 811312f3..e3996b35 100644 --- a/client/src/app/admin/instance/dataset-group/containers/edit-dataset-group.component.spec.ts +++ b/client/src/app/admin/instance/dataset-group/containers/edit-dataset-group.component.spec.ts @@ -9,7 +9,9 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; + import { MockStore, provideMockStore } from '@ngrx/store/testing'; + import { DatasetGroup } from 'src/app/metamodel/models'; import * as datasetGroupActions from 'src/app/metamodel/actions/dataset-group.actions'; import { EditDatasetGroupComponent } from './edit-dataset-group.component'; @@ -19,6 +21,7 @@ describe('[admin][instance][dataset-group][containers] EditDatasetGroupComponent let fixture: ComponentFixture<EditDatasetGroupComponent>; let store: MockStore; let spy; + beforeEach(() => { TestBed.configureTestingModule({ declarations: [ @@ -40,6 +43,7 @@ describe('[admin][instance][dataset-group][containers] EditDatasetGroupComponent it('should create the component', () => { expect(component).toBeTruthy(); }); + it('deleteDatasetGroup(datasetGroup: DatasetGroup) should dispatch deleteDatasetGroup action', () => { let datasetGroup: DatasetGroup = { datasets: [], id: 1, instance_name: 'test', role: 'test' }; spy = jest.spyOn(store, 'dispatch'); @@ -47,5 +51,4 @@ describe('[admin][instance][dataset-group][containers] EditDatasetGroupComponent expect(spy).toHaveBeenCalledTimes(1); expect(spy).toHaveBeenCalledWith(datasetGroupActions.editDatasetGroup({ datasetGroup })) }); - }) diff --git a/client/src/app/admin/instance/dataset-group/containers/new-dataset-group.component.spec.ts b/client/src/app/admin/instance/dataset-group/containers/new-dataset-group.component.spec.ts index 0c869c20..e4932952 100644 --- a/client/src/app/admin/instance/dataset-group/containers/new-dataset-group.component.spec.ts +++ b/client/src/app/admin/instance/dataset-group/containers/new-dataset-group.component.spec.ts @@ -19,13 +19,14 @@ import { RouterTestingModule } from '@angular/router/testing'; @Component({ template: '' }) -class DummyComponent { -} +class DummyComponent { } + describe('[admin][instance][dataset-group][containers] NewDatasetGroupComponent', () => { let component: NewDatasetGroupComponent; let fixture: ComponentFixture<NewDatasetGroupComponent>; let store: MockStore; let spy; + beforeEach(() => { TestBed.configureTestingModule({ declarations: [ @@ -50,6 +51,7 @@ describe('[admin][instance][dataset-group][containers] NewDatasetGroupComponent' it('should create the component', () => { expect(component).toBeTruthy(); }); + it('deleteDatasetGroup(datasetGroup: DatasetGroup) should dispatch deleteDatasetGroup action', () => { let datasetGroup: DatasetGroup = { datasets: [], id: 1, instance_name: 'test', role: 'test' }; spy = jest.spyOn(store, 'dispatch'); @@ -57,5 +59,4 @@ describe('[admin][instance][dataset-group][containers] NewDatasetGroupComponent' expect(spy).toHaveBeenCalledTimes(1); expect(spy).toHaveBeenCalledWith(datasetGroupActions.addDatasetGroup({ datasetGroup })) }); - }) diff --git a/client/src/app/admin/instance/dataset-group/dataset-group-title.resolver.spec.ts b/client/src/app/admin/instance/dataset-group/dataset-group-title.resolver.spec.ts index 2f98ad70..26b8ff83 100644 --- a/client/src/app/admin/instance/dataset-group/dataset-group-title.resolver.spec.ts +++ b/client/src/app/admin/instance/dataset-group/dataset-group-title.resolver.spec.ts @@ -8,12 +8,14 @@ */ import { TestBed } from '@angular/core/testing'; +import { ActivatedRouteSnapshot } from '@angular/router'; import { MockStore, provideMockStore } from '@ngrx/store/testing'; + import { cold } from 'jasmine-marbles'; + import { DatasetGroupTitleResolver } from './dataset-group-title.resolver'; import * as instanceSelector from 'src/app/metamodel/selectors/instance.selector'; import { Instance } from 'src/app/metamodel/models'; -import { ActivatedRouteSnapshot } from '@angular/router'; describe('[admin][instance][dataset-group] DatasetGroupTitleResolver', () => { let datasetGroupTitleResolver: DatasetGroupTitleResolver; @@ -22,7 +24,6 @@ describe('[admin][instance][dataset-group] DatasetGroupTitleResolver', () => { let instance: Instance; let component; - beforeEach(() => { TestBed.configureTestingModule({ imports: [], @@ -35,12 +36,12 @@ describe('[admin][instance][dataset-group] DatasetGroupTitleResolver', () => { store = TestBed.inject(MockStore); datasetGroupTitleResolver = TestBed.inject(DatasetGroupTitleResolver); mockInstanceSelectorSelectInstanceByRouteName = store.overrideSelector(instanceSelector.selectInstanceByRouteName, instance); - }); it('should be created', () => { expect(datasetGroupTitleResolver).toBeTruthy(); }); + it('resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) should return test_label - Dataset-groups list ', () => { const expected = cold('a', { a: instance.label + ' - Dataset-groups list' }); let route: ActivatedRouteSnapshot; @@ -48,8 +49,8 @@ describe('[admin][instance][dataset-group] DatasetGroupTitleResolver', () => { route = { ...route, component: component, children: [], root: null, parent: null, firstChild: null, pathFromRoot: null, paramMap: null, queryParamMap: null }; let result = datasetGroupTitleResolver.resolve(route, null); expect(result).toBeObservable(expected); - }); + it('resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) should return test_label - New dataset-group ', () => { const expected = cold('a', { a: instance.label + ' - New dataset-group' }); let route: ActivatedRouteSnapshot; @@ -57,8 +58,5 @@ describe('[admin][instance][dataset-group] DatasetGroupTitleResolver', () => { route = { ...route, component: component, children: [], root: null, parent: null, firstChild: null, pathFromRoot: null, paramMap: null, queryParamMap: null }; let result = datasetGroupTitleResolver.resolve(route, null); expect(result).toBeObservable(expected); - }); - - }); diff --git a/client/src/app/admin/instance/dataset-group/edit-dataset-group-title.resolver.spec.ts b/client/src/app/admin/instance/dataset-group/edit-dataset-group-title.resolver.spec.ts index 93457230..f3cb3eea 100644 --- a/client/src/app/admin/instance/dataset-group/edit-dataset-group-title.resolver.spec.ts +++ b/client/src/app/admin/instance/dataset-group/edit-dataset-group-title.resolver.spec.ts @@ -9,7 +9,9 @@ import { TestBed } from '@angular/core/testing'; import { MockStore, provideMockStore } from '@ngrx/store/testing'; + import { cold, hot } from 'jasmine-marbles'; + import * as instanceSelector from 'src/app/metamodel/selectors/instance.selector'; import { DatasetGroup, Instance } from 'src/app/metamodel/models'; import { EditDatasetGroupTitleResolver } from './edit-dataset-group-title.resolver'; @@ -23,6 +25,7 @@ describe('[admin][instance][dataset-group] DatasetGroupTitleResolver', () => { let mockDatasetGroupSelectorDatasetGroupByRouteId; let instance: Instance; let datasetGroup: DatasetGroup; + beforeEach(() => { TestBed.configureTestingModule({ imports: [], @@ -45,6 +48,7 @@ describe('[admin][instance][dataset-group] DatasetGroupTitleResolver', () => { it('should be created', () => { expect(editDatasetGroupTitleResolver).toBeTruthy(); }); + it('shoud dispatch datasetGroupActions.loadDatasetGroupList() action and return datasetGroupListIsLoaded', () => { const expected = cold('a', { a: [] }); let spy = jest.spyOn(store, 'dispatch'); @@ -53,12 +57,11 @@ describe('[admin][instance][dataset-group] DatasetGroupTitleResolver', () => { expect(result).toBeObservable(expected); expect(spy).toHaveBeenCalledTimes(1); }); + it('should return test - Edit dataset-group test', () => { mockDatasetGroupSelectorGroupListIsLoaded = store.overrideSelector(datasetGroupSelector.selectDatasetGroupListIsLoaded, true); let result = editDatasetGroupTitleResolver.resolve(null, null); const expected = cold('a', { a: instance.label + " - Edit dataset-group " + datasetGroup.role }); expect(result).toBeObservable(expected); }); - }); - -- GitLab