From 567e7f240a6db43c8a773ebdf1af84fb7b30f582 Mon Sep 17 00:00:00 2001 From: dangapay <divin.angapay@lam.fr> Date: Fri, 21 Oct 2022 17:18:04 +0200 Subject: [PATCH] add test for admin/instance/dataset/components/output-family --- .../output-category-form.component.spec.ts | 1 - .../add-output-family.component.spec.ts | 56 ++++++++++++++++++ .../edit-output-family.component.spec.ts | 57 ++++++++++++++++++ .../components/output-family/index.spec.ts | 19 ++++++ .../output-family-form.component.spec.ts | 59 +++++++++++++++++++ .../output-family-list.component.spec.ts | 45 ++++++++++++++ 6 files changed, 236 insertions(+), 1 deletion(-) create mode 100644 client/src/app/admin/instance/dataset/components/output-family/add-output-family.component.spec.ts create mode 100644 client/src/app/admin/instance/dataset/components/output-family/edit-output-family.component.spec.ts create mode 100644 client/src/app/admin/instance/dataset/components/output-family/index.spec.ts create mode 100644 client/src/app/admin/instance/dataset/components/output-family/output-family-form.component.spec.ts create mode 100644 client/src/app/admin/instance/dataset/components/output-family/output-family-list.component.spec.ts diff --git a/client/src/app/admin/instance/dataset/components/output-category/output-category-form.component.spec.ts b/client/src/app/admin/instance/dataset/components/output-category/output-category-form.component.spec.ts index 6689a827..a6a87694 100644 --- a/client/src/app/admin/instance/dataset/components/output-category/output-category-form.component.spec.ts +++ b/client/src/app/admin/instance/dataset/components/output-category/output-category-form.component.spec.ts @@ -10,7 +10,6 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ReactiveFormsModule } from '@angular/forms'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; -import { FileInfo } from 'src/app/admin/store/models'; import { OutputCategoryFormComponent } from './output-category-form.component'; describe('[admin][instance][dataset][components][output-category] OutputCategoryFormComponent', () => { diff --git a/client/src/app/admin/instance/dataset/components/output-family/add-output-family.component.spec.ts b/client/src/app/admin/instance/dataset/components/output-family/add-output-family.component.spec.ts new file mode 100644 index 00000000..90a0fb08 --- /dev/null +++ b/client/src/app/admin/instance/dataset/components/output-family/add-output-family.component.spec.ts @@ -0,0 +1,56 @@ +/** + * This file is part of Anis Client. + * + * @copyright Laboratoire d'Astrophysique de Marseille / CNRS + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +import { TemplateRef } from '@angular/core'; +import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { ReactiveFormsModule } from '@angular/forms'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { BsModalRef, BsModalService } from 'ngx-bootstrap/modal'; +import { AddOutputFamilyComponent } from './add-output-family.component'; + +describe('[admin][instance][dataset][components][output-family] AddOutputFamilyComponent', () => { + let component: AddOutputFamilyComponent; + let fixture: ComponentFixture<AddOutputFamilyComponent>; + const modalServiceStub = { + show: jest.fn(), + }; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [ + AddOutputFamilyComponent, + ], + providers: [ + BsModalRef, + { provide: BsModalService, useValue: modalServiceStub } + ], + imports: [ + BrowserAnimationsModule, + ReactiveFormsModule + ], + }); + fixture = TestBed.createComponent(AddOutputFamilyComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create the component', () => { + expect(component).toBeTruthy(); + }); + + it('should call modalRef.show(template)', () => { + let template: TemplateRef<any> = null; + let spy = jest.spyOn(modalServiceStub, 'show'); + component.openModal(template); + expect(spy).toHaveBeenCalledTimes(1); + expect(spy).toHaveBeenCalledWith(template); + }); + +}); + diff --git a/client/src/app/admin/instance/dataset/components/output-family/edit-output-family.component.spec.ts b/client/src/app/admin/instance/dataset/components/output-family/edit-output-family.component.spec.ts new file mode 100644 index 00000000..01627cc2 --- /dev/null +++ b/client/src/app/admin/instance/dataset/components/output-family/edit-output-family.component.spec.ts @@ -0,0 +1,57 @@ +/** + * This file is part of Anis Client. + * + * @copyright Laboratoire d'Astrophysique de Marseille / CNRS + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + + import { TemplateRef } from '@angular/core'; + import { ComponentFixture, TestBed } from '@angular/core/testing'; + import { ReactiveFormsModule } from '@angular/forms'; + import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; + import { BsModalRef, BsModalService } from 'ngx-bootstrap/modal'; +import { EditOutputFamilyComponent } from './edit-output-family.component'; + + describe('[admin][instance][dataset][components][output-family] EditOutputFamilyComponent', () => { + let component: EditOutputFamilyComponent; + let fixture: ComponentFixture<EditOutputFamilyComponent>; + const modalServiceStub = { + show: jest.fn(), + }; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [ + EditOutputFamilyComponent, + ], + providers: [ + BsModalRef, + { provide: BsModalService, useValue: modalServiceStub } + ], + imports: [ + BrowserAnimationsModule, + ReactiveFormsModule + ], + }); + fixture = TestBed.createComponent(EditOutputFamilyComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create the component', () => { + expect(component).toBeTruthy(); + }); + + it('should call modalRef.show(template)', () => { + let template: TemplateRef<any> = null; + let spy = jest.spyOn(modalServiceStub, 'show'); + component.openModal(template); + expect(spy).toHaveBeenCalledTimes(1); + expect(spy).toHaveBeenCalledWith(template); + }); + + }); + + \ No newline at end of file diff --git a/client/src/app/admin/instance/dataset/components/output-family/index.spec.ts b/client/src/app/admin/instance/dataset/components/output-family/index.spec.ts new file mode 100644 index 00000000..ba5cb82e --- /dev/null +++ b/client/src/app/admin/instance/dataset/components/output-family/index.spec.ts @@ -0,0 +1,19 @@ +/** + * This file is part of Anis Client. + * + * @copyright Laboratoire d'Astrophysique de Marseille / CNRS + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +import { outputFamilyComponents } from './index'; + +describe('[admin][instance][dataset][components][output-family] index', () => { + it('should test output-family index components', () => { + expect(outputFamilyComponents.length).toEqual(4); + }); +}); + + + diff --git a/client/src/app/admin/instance/dataset/components/output-family/output-family-form.component.spec.ts b/client/src/app/admin/instance/dataset/components/output-family/output-family-form.component.spec.ts new file mode 100644 index 00000000..7a6b1c98 --- /dev/null +++ b/client/src/app/admin/instance/dataset/components/output-family/output-family-form.component.spec.ts @@ -0,0 +1,59 @@ +/** + * This file is part of Anis Client. + * + * @copyright Laboratoire d'Astrophysique de Marseille / CNRS + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { ReactiveFormsModule } from '@angular/forms'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { OutputFamilyFormComponent } from './output-family-form.component'; + +describe('[admin][instance][dataset][components][output-family] OutputFamilyFormComponent', () => { + let component: OutputFamilyFormComponent; + let fixture: ComponentFixture<OutputFamilyFormComponent>; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [ + OutputFamilyFormComponent, + ], + imports: [ + BrowserAnimationsModule, + ReactiveFormsModule + ], + }); + fixture = TestBed.createComponent(OutputFamilyFormComponent); + component = fixture.componentInstance; + component.outputFamily = { + display: 10, + id: 1, + label: 'test', + opened: false + }; + fixture.detectChanges(); + }); + + it('should create the component', () => { + expect(component).toBeTruthy(); + }); + + it('submit() should emit outputCategory and form.value()', () => { + let spy = jest.spyOn(component.onSubmit, 'emit'); + component.submit(); + expect(spy).toHaveBeenCalledTimes(1); + expect(spy).toHaveBeenCalledWith({ ...component.outputFamily, ...component.form.value }); + }); + it('submit() should emit only form.value()', () => { + let spy = jest.spyOn(component.onSubmit, 'emit'); + component.outputFamily = null; + component.submit(); + expect(spy).toHaveBeenCalledTimes(1); + expect(spy).toHaveBeenCalledWith({ ...component.form.value }); + }) + +}); + diff --git a/client/src/app/admin/instance/dataset/components/output-family/output-family-list.component.spec.ts b/client/src/app/admin/instance/dataset/components/output-family/output-family-list.component.spec.ts new file mode 100644 index 00000000..7ed4cd44 --- /dev/null +++ b/client/src/app/admin/instance/dataset/components/output-family/output-family-list.component.spec.ts @@ -0,0 +1,45 @@ +/** + * This file is part of Anis Client. + * + * @copyright Laboratoire d'Astrophysique de Marseille / CNRS + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +import { Component } from '@angular/core'; +import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { ReactiveFormsModule } from '@angular/forms'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { OutputFamilyListComponent } from './output-family-list.component'; +@Component({ + selector: 'app-add-output-family', + +}) +class AddOutputFamilyComponent { } + +describe('[admin][instance][dataset][components][output-family] OutputFamilyListComponent', () => { + let component: OutputFamilyListComponent; + let fixture: ComponentFixture<OutputFamilyListComponent>; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [ + OutputFamilyListComponent, + AddOutputFamilyComponent + ], + imports: [ + BrowserAnimationsModule, + ReactiveFormsModule + ], + }); + fixture = TestBed.createComponent(OutputFamilyListComponent); + component = fixture.componentInstance; + }); + + it('should create the component', () => { + expect(component).toBeTruthy(); + }); + +}); + + -- GitLab