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 6689a827a220ccba3a43a78cdf769a2b93c39f4a..a6a87694784a0513156189485772f0124ec8d44d 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 0000000000000000000000000000000000000000..90a0fb0881d1160582a1a7440b0ea778b6d5c23d --- /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 0000000000000000000000000000000000000000..01627cc2fdd74c1b2fff8502fbfe0611b75ede9b --- /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 0000000000000000000000000000000000000000..ba5cb82eb46c5889f8505b43ac5f9f6c0ecfc2ea --- /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 0000000000000000000000000000000000000000..7a6b1c989682f3a07b2cb7e680f2860a28afd1a0 --- /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 0000000000000000000000000000000000000000..7ed4cd443673e00aa07eb54806e80eddc96a15e5 --- /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(); + }); + +}); + +