From d4c230273f01a582cf40203a1f72294a88bc188e Mon Sep 17 00:00:00 2001 From: dangapay <divin.angapay@lam.fr> Date: Thu, 6 Oct 2022 12:05:37 +0200 Subject: [PATCH] add test for admin/instance/dataset/components/attribute/output --- .../components/attribute/output/index.spec.ts | 17 +++++ .../output/table-output.component.spec.ts | 36 +++++++++++ .../output/tr-output.component.spec.ts | 64 +++++++++++++++++++ 3 files changed, 117 insertions(+) create mode 100644 client/src/app/admin/instance/dataset/components/attribute/output/index.spec.ts create mode 100644 client/src/app/admin/instance/dataset/components/attribute/output/table-output.component.spec.ts create mode 100644 client/src/app/admin/instance/dataset/components/attribute/output/tr-output.component.spec.ts diff --git a/client/src/app/admin/instance/dataset/components/attribute/output/index.spec.ts b/client/src/app/admin/instance/dataset/components/attribute/output/index.spec.ts new file mode 100644 index 00000000..bd09ef62 --- /dev/null +++ b/client/src/app/admin/instance/dataset/components/attribute/output/index.spec.ts @@ -0,0 +1,17 @@ +/** + * 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 { outputComponents } from './index'; + +describe('[admin][instance][dataset][components][attribute][output] index', () => { + it('Test output index components', () => { + expect(outputComponents.length).toEqual(2); + }); +}); + diff --git a/client/src/app/admin/instance/dataset/components/attribute/output/table-output.component.spec.ts b/client/src/app/admin/instance/dataset/components/attribute/output/table-output.component.spec.ts new file mode 100644 index 00000000..f4f343a4 --- /dev/null +++ b/client/src/app/admin/instance/dataset/components/attribute/output/table-output.component.spec.ts @@ -0,0 +1,36 @@ +/** + * 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 { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { TableOutputComponent } from './table-output.component'; + +describe('[admin][instance][dataset][components][attribute][output] TableOutputComponent', () => { + let component: TableOutputComponent; + let fixture: ComponentFixture<TableOutputComponent>; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [ + TableOutputComponent, + ], + imports: [ + BrowserAnimationsModule, + ], + }); + fixture = TestBed.createComponent(TableOutputComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create the component', () => { + expect(component).toBeTruthy(); + }); +}); + diff --git a/client/src/app/admin/instance/dataset/components/attribute/output/tr-output.component.spec.ts b/client/src/app/admin/instance/dataset/components/attribute/output/tr-output.component.spec.ts new file mode 100644 index 00000000..65cf844a --- /dev/null +++ b/client/src/app/admin/instance/dataset/components/attribute/output/tr-output.component.spec.ts @@ -0,0 +1,64 @@ +/** + * 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 { Attribute, OutputFamily } from 'src/app/metamodel/models'; +import { TrOutputComponent } from './tr-output.component'; + + describe('[admin][instance][dataset][components][attribute][] TrOutputComponent', () => { + let component: TrOutputComponent; + let fixture: ComponentFixture<TrOutputComponent>; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [ + TrOutputComponent, + ], + imports: [ + BrowserAnimationsModule, + ReactiveFormsModule + ], + }); + fixture = TestBed.createComponent(TrOutputComponent); + component = fixture.componentInstance; + let attribute: Attribute; + component.attribute = { ...attribute, name: 'test', output_display: 0, id_output_category: 0 , selected: true}; + fixture.detectChanges(); + }); + + it('should create the component', () => { + expect(component).toBeTruthy(); + }); + it('outputCategoryOnChange() should set form.id_output_category to null', () => { + component.form.controls.id_output_category.setValue(''); + expect(component.form.controls.id_output_category.value).toEqual(''); + component.outputCategoryOnChange(); + expect(component.form.controls.id_output_category.value).toEqual(null); + }); + it('getOutputFamilyLabel(idOutputFamilly: number) should return test2', () => { + let outputFamilyList: OutputFamily[] = [ + { display: 0, id: 1, label: 'test0', opened: false }, + { display: 0, id: 2, label: 'test1', opened: false }, + { display: 0, id: 3, label: 'test2', opened: false } + ] + component.outputFamilyList = outputFamilyList; + let result: string = component.getOutputFamilyLabel(3); + expect(result).toEqual('test2'); + }) + it('submit() should emit with attribute and form.value', () => { + let spy = jest.spyOn(component.save, 'emit'); + component.submit(); + expect(spy).toHaveBeenCalledTimes(1); + expect(spy).toHaveBeenCalledWith({ ...component.attribute, ...component.form.value }); + }) + }); + + \ No newline at end of file -- GitLab