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