From fee6b2e740d64deca618d360ad8d0b1794c82ff8 Mon Sep 17 00:00:00 2001 From: dangapay <divin.angapay@lam.fr> Date: Fri, 7 Oct 2022 12:16:27 +0200 Subject: [PATCH] add test for admin/instance/dataset/components/criteria-family --- .../add-criteria-family.component.spec.ts | 56 +++++++++++++++++++ .../criteria-family-form.component.spec.ts | 53 ++++++++++++++++++ .../criteria-family-list.component.spec.ts | 42 ++++++++++++++ .../edit-criteria-family.component.spec.ts | 56 +++++++++++++++++++ .../components/criteria-family/index.spec.ts | 20 +++++++ 5 files changed, 227 insertions(+) create mode 100644 client/src/app/admin/instance/dataset/components/criteria-family/add-criteria-family.component.spec.ts create mode 100644 client/src/app/admin/instance/dataset/components/criteria-family/criteria-family-form.component.spec.ts create mode 100644 client/src/app/admin/instance/dataset/components/criteria-family/criteria-family-list.component.spec.ts create mode 100644 client/src/app/admin/instance/dataset/components/criteria-family/edit-criteria-family.component.spec.ts create mode 100644 client/src/app/admin/instance/dataset/components/criteria-family/index.spec.ts diff --git a/client/src/app/admin/instance/dataset/components/criteria-family/add-criteria-family.component.spec.ts b/client/src/app/admin/instance/dataset/components/criteria-family/add-criteria-family.component.spec.ts new file mode 100644 index 00000000..9483ae1b --- /dev/null +++ b/client/src/app/admin/instance/dataset/components/criteria-family/add-criteria-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 { AddCriteriaFamilyComponent } from './add-criteria-family.component'; + +describe('[admin][instance][dataset][components][criteria-family] AddCriteriaFamilyComponent', () => { + let component: AddCriteriaFamilyComponent; + let fixture: ComponentFixture<AddCriteriaFamilyComponent>; + const modalServiceStub = { + show: jest.fn(), + }; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [ + AddCriteriaFamilyComponent, + ], + providers: [ + BsModalRef, + { provide: BsModalService, useValue: modalServiceStub } + ], + imports: [ + BrowserAnimationsModule, + ReactiveFormsModule + ], + }); + fixture = TestBed.createComponent(AddCriteriaFamilyComponent); + 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/criteria-family/criteria-family-form.component.spec.ts b/client/src/app/admin/instance/dataset/components/criteria-family/criteria-family-form.component.spec.ts new file mode 100644 index 00000000..1e87eb0c --- /dev/null +++ b/client/src/app/admin/instance/dataset/components/criteria-family/criteria-family-form.component.spec.ts @@ -0,0 +1,53 @@ +/** + * 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 { CriteriaFamilyFormComponent } from './criteria-family-form.component'; + +describe('[admin][instance][dataset][components][criteria-family] CriteriaFamilyFormComponent', () => { + let component: CriteriaFamilyFormComponent; + let fixture: ComponentFixture<CriteriaFamilyFormComponent>; + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [ + CriteriaFamilyFormComponent, + ], + imports: [ + BrowserAnimationsModule, + ReactiveFormsModule + ], + }); + fixture = TestBed.createComponent(CriteriaFamilyFormComponent); + component = fixture.componentInstance; + component.criteriaFamily = { display: 10, id: 1, label: 'test', opened: false }; + fixture.detectChanges(); + }); + + it('should create the component', () => { + expect(component).toBeTruthy(); + }); + + it(' submit() should emit criterFamily and form.value', () => { + let spy = jest.spyOn(component.onSubmit, 'emit'); + component.submit(); + expect(spy).toHaveBeenCalledTimes(1); + expect(spy).toHaveBeenCalledWith({ ...component.criteriaFamily, ...component.form.value }); + }); + it(' submit() should emit form.value', () => { + component.criteriaFamily = null; + let spy = jest.spyOn(component.onSubmit, 'emit'); + component.submit(); + expect(spy).toHaveBeenCalledTimes(1); + expect(spy).toHaveBeenCalledWith(component.form.value); + }); + +}); + diff --git a/client/src/app/admin/instance/dataset/components/criteria-family/criteria-family-list.component.spec.ts b/client/src/app/admin/instance/dataset/components/criteria-family/criteria-family-list.component.spec.ts new file mode 100644 index 00000000..078565c1 --- /dev/null +++ b/client/src/app/admin/instance/dataset/components/criteria-family/criteria-family-list.component.spec.ts @@ -0,0 +1,42 @@ +/** + * 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 { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { CriteriaFamilyListComponent } from './criteria-family-list.component'; + +@Component({ + selector: 'app-add-criteria-family', +}) +class AddCriteriaFamilyComponent {} + +describe('[admin][instance][dataset][components][criteria-family] CriteriaFamilyListComponent', () => { + let component: CriteriaFamilyListComponent; + let fixture: ComponentFixture<CriteriaFamilyListComponent>; + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [ + CriteriaFamilyListComponent, + ], + imports: [ + BrowserAnimationsModule, + ], + }); + fixture = TestBed.createComponent(CriteriaFamilyListComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create the component', () => { + expect(component).toBeTruthy(); + }); + +}); + diff --git a/client/src/app/admin/instance/dataset/components/criteria-family/edit-criteria-family.component.spec.ts b/client/src/app/admin/instance/dataset/components/criteria-family/edit-criteria-family.component.spec.ts new file mode 100644 index 00000000..eabec6e2 --- /dev/null +++ b/client/src/app/admin/instance/dataset/components/criteria-family/edit-criteria-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 { EditCriteriaFamilyComponent } from './edit-criteria-family.component'; + +describe('[admin][instance][dataset][components][criteria-family] EditCriteriaFamilyComponent', () => { + let component: EditCriteriaFamilyComponent; + let fixture: ComponentFixture<EditCriteriaFamilyComponent>; + const modalServiceStub = { + show: jest.fn(), + }; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [ + EditCriteriaFamilyComponent, + ], + providers: [ + BsModalRef, + { provide: BsModalService, useValue: modalServiceStub } + ], + imports: [ + BrowserAnimationsModule, + ReactiveFormsModule + ], + }); + fixture = TestBed.createComponent(EditCriteriaFamilyComponent); + 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/criteria-family/index.spec.ts b/client/src/app/admin/instance/dataset/components/criteria-family/index.spec.ts new file mode 100644 index 00000000..48d2ec25 --- /dev/null +++ b/client/src/app/admin/instance/dataset/components/criteria-family/index.spec.ts @@ -0,0 +1,20 @@ +/** + * 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 { criteriaFamilyComponents } from './index'; + + describe('[admin][instance][dataset][components][criteria-family] index', () => { + it('should test criteria-family index components', () => { + expect(criteriaFamilyComponents.length).toEqual(4); + }); + }); + + + + \ No newline at end of file -- GitLab