remove rfdc, in favor of lodash deepcopy.
This commit is contained in:
parent
a2ba129828
commit
1ee62ef57f
|
@ -6,10 +6,10 @@ import {MatInputModule} from '@angular/material/input';
|
||||||
import {BrowserAnimationsModule, NoopAnimationsModule} from '@angular/platform-browser/animations';
|
import {BrowserAnimationsModule, NoopAnimationsModule} from '@angular/platform-browser/animations';
|
||||||
import {FormlyModule} from '@ngx-formly/core';
|
import {FormlyModule} from '@ngx-formly/core';
|
||||||
import {FormlyMaterialModule} from '@ngx-formly/material';
|
import {FormlyMaterialModule} from '@ngx-formly/material';
|
||||||
import createClone from 'rfdc';
|
|
||||||
import {FileType} from 'sartography-workflow-lib';
|
import {FileType} from 'sartography-workflow-lib';
|
||||||
import {FileMetaDialogData} from '../../_interfaces/dialog-data';
|
import {FileMetaDialogData} from '../../_interfaces/dialog-data';
|
||||||
import {FileMetaDialogComponent} from './file-meta-dialog.component';
|
import {FileMetaDialogComponent} from './file-meta-dialog.component';
|
||||||
|
import * as cloneDeep from "lodash/cloneDeep";
|
||||||
|
|
||||||
describe('EditFileMetaDialogComponent', () => {
|
describe('EditFileMetaDialogComponent', () => {
|
||||||
let component: FileMetaDialogComponent;
|
let component: FileMetaDialogComponent;
|
||||||
|
@ -86,7 +86,7 @@ describe('EditFileMetaDialogComponent', () => {
|
||||||
|
|
||||||
component.model = dataBefore;
|
component.model = dataBefore;
|
||||||
component.onSubmit();
|
component.onSubmit();
|
||||||
const expectedData: FileMetaDialogData = createClone()(dataBefore);
|
const expectedData: FileMetaDialogData = cloneDeep(dataBefore);
|
||||||
expectedData.fileName = 'green_eggs.v1-2020-01-01.XML.bpmn';
|
expectedData.fileName = 'green_eggs.v1-2020-01-01.XML.bpmn';
|
||||||
expect(closeSpy).toHaveBeenCalledWith(expectedData);
|
expect(closeSpy).toHaveBeenCalledWith(expectedData);
|
||||||
});
|
});
|
||||||
|
|
|
@ -9,7 +9,7 @@ import {MatSnackBarModule} from '@angular/material/snack-bar';
|
||||||
import {BrowserDynamicTestingModule} from '@angular/platform-browser-dynamic/testing';
|
import {BrowserDynamicTestingModule} from '@angular/platform-browser-dynamic/testing';
|
||||||
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
|
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
|
||||||
import {RouterTestingModule} from '@angular/router/testing';
|
import {RouterTestingModule} from '@angular/router/testing';
|
||||||
import createClone from 'rfdc';
|
import * as cloneDeep from "lodash/cloneDeep";
|
||||||
import {of} from 'rxjs';
|
import {of} from 'rxjs';
|
||||||
import {
|
import {
|
||||||
ApiService,
|
ApiService,
|
||||||
|
@ -147,7 +147,7 @@ describe('FileListComponent', () => {
|
||||||
expect(routerNavigateSpy).toHaveBeenCalledWith([`/modeler/${mockWorkflowSpec0.id}/${mockFileMeta0.id}`]);
|
expect(routerNavigateSpy).toHaveBeenCalledWith([`/modeler/${mockWorkflowSpec0.id}/${mockFileMeta0.id}`]);
|
||||||
|
|
||||||
routerNavigateSpy.calls.reset();
|
routerNavigateSpy.calls.reset();
|
||||||
const mockDmnMeta = createClone()(mockFileMeta0);
|
const mockDmnMeta = cloneDeep(mockFileMeta0);
|
||||||
mockDmnMeta.type = FileType.DMN;
|
mockDmnMeta.type = FileType.DMN;
|
||||||
component.editFile(mockDmnMeta);
|
component.editFile(mockDmnMeta);
|
||||||
expect(routerNavigateSpy).toHaveBeenCalledWith([`/modeler/${mockWorkflowSpec0.id}/${mockDmnMeta.id}`]);
|
expect(routerNavigateSpy).toHaveBeenCalledWith([`/modeler/${mockWorkflowSpec0.id}/${mockDmnMeta.id}`]);
|
||||||
|
@ -157,7 +157,7 @@ describe('FileListComponent', () => {
|
||||||
const routerNavigateSpy = spyOn((component as any).router, 'navigate');
|
const routerNavigateSpy = spyOn((component as any).router, 'navigate');
|
||||||
const editFileMetaSpy = spyOn(component, 'editFileMeta');
|
const editFileMetaSpy = spyOn(component, 'editFileMeta');
|
||||||
component.workflowSpec = mockWorkflowSpec0;
|
component.workflowSpec = mockWorkflowSpec0;
|
||||||
const mockDocMeta = createClone()(mockFileMeta0);
|
const mockDocMeta = cloneDeep(mockFileMeta0);
|
||||||
mockDocMeta.type = FileType.DOCX;
|
mockDocMeta.type = FileType.DOCX;
|
||||||
component.editFile(mockDocMeta);
|
component.editFile(mockDocMeta);
|
||||||
expect(routerNavigateSpy).not.toHaveBeenCalled();
|
expect(routerNavigateSpy).not.toHaveBeenCalled();
|
||||||
|
@ -173,7 +173,7 @@ describe('FileListComponent', () => {
|
||||||
it('should open file metadata dialog', () => {
|
it('should open file metadata dialog', () => {
|
||||||
const _openFileDialogSpy = spyOn((component as any), '_openFileDialog').and.stub();
|
const _openFileDialogSpy = spyOn((component as any), '_openFileDialog').and.stub();
|
||||||
component.workflowSpec = mockWorkflowSpec0;
|
component.workflowSpec = mockWorkflowSpec0;
|
||||||
const mockDocMeta: FileMeta = createClone()(mockFileMeta0);
|
const mockDocMeta: FileMeta = cloneDeep(mockFileMeta0);
|
||||||
mockDocMeta.type = FileType.DOCX;
|
mockDocMeta.type = FileType.DOCX;
|
||||||
component.editFileMeta(mockDocMeta);
|
component.editFileMeta(mockDocMeta);
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@ import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
|
||||||
import {Router} from '@angular/router';
|
import {Router} from '@angular/router';
|
||||||
import {RouterTestingModule} from '@angular/router/testing';
|
import {RouterTestingModule} from '@angular/router/testing';
|
||||||
import * as FileSaver from 'file-saver';
|
import * as FileSaver from 'file-saver';
|
||||||
import createClone from 'rfdc';
|
import * as cloneDeep from "lodash/cloneDeep";
|
||||||
import {of} from 'rxjs';
|
import {of} from 'rxjs';
|
||||||
import {ApiService, FileMeta, FileType, MockEnvironment, mockFileMetaReference0, mockFileReference0} from 'sartography-workflow-lib';
|
import {ApiService, FileMeta, FileType, MockEnvironment, mockFileMetaReference0, mockFileReference0} from 'sartography-workflow-lib';
|
||||||
import {OpenFileDialogComponent} from '../_dialogs/open-file-dialog/open-file-dialog.component';
|
import {OpenFileDialogComponent} from '../_dialogs/open-file-dialog/open-file-dialog.component';
|
||||||
|
@ -23,7 +23,7 @@ describe('ReferenceFilesComponent', () => {
|
||||||
const mockRouter = {navigate: jasmine.createSpy('navigate')};
|
const mockRouter = {navigate: jasmine.createSpy('navigate')};
|
||||||
|
|
||||||
// Mock file and response headers
|
// Mock file and response headers
|
||||||
const mockDocMeta: FileMeta = createClone()(mockFileMetaReference0);
|
const mockDocMeta: FileMeta = cloneDeep(mockFileMetaReference0);
|
||||||
mockDocMeta.type = FileType.XLSX;
|
mockDocMeta.type = FileType.XLSX;
|
||||||
|
|
||||||
const timeString = '2020-01-23T12:34:12.345Z';
|
const timeString = '2020-01-23T12:34:12.345Z';
|
||||||
|
|
|
@ -10,8 +10,8 @@ import {MatSnackBarModule} from '@angular/material/snack-bar';
|
||||||
import {BrowserDynamicTestingModule} from '@angular/platform-browser-dynamic/testing';
|
import {BrowserDynamicTestingModule} from '@angular/platform-browser-dynamic/testing';
|
||||||
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
|
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
|
||||||
import {RouterTestingModule} from '@angular/router/testing';
|
import {RouterTestingModule} from '@angular/router/testing';
|
||||||
import createClone from 'rfdc';
|
import * as cloneDeep from "lodash/cloneDeep";
|
||||||
import {Observable, of} from 'rxjs';
|
import {of} from 'rxjs';
|
||||||
import {
|
import {
|
||||||
ApiErrorsComponent,
|
ApiErrorsComponent,
|
||||||
ApiService,
|
ApiService,
|
||||||
|
@ -172,7 +172,7 @@ describe('WorkflowSpecListComponent', () => {
|
||||||
_updateWorkflowSpecSpy.calls.reset();
|
_updateWorkflowSpecSpy.calls.reset();
|
||||||
|
|
||||||
component.selectedSpec = mockWorkflowSpec0;
|
component.selectedSpec = mockWorkflowSpec0;
|
||||||
const modifiedData: WorkflowSpec = createClone({circles: true})(mockWorkflowSpec0);
|
const modifiedData: WorkflowSpec = cloneDeep(mockWorkflowSpec0);
|
||||||
modifiedData.display_name = 'Modified';
|
modifiedData.display_name = 'Modified';
|
||||||
(component as any)._upsertWorkflowSpecification(false, modifiedData);
|
(component as any)._upsertWorkflowSpecification(false, modifiedData);
|
||||||
expect(_addWorkflowSpecSpy).not.toHaveBeenCalled();
|
expect(_addWorkflowSpecSpy).not.toHaveBeenCalled();
|
||||||
|
@ -268,7 +268,7 @@ describe('WorkflowSpecListComponent', () => {
|
||||||
_updateWorkflowSpecCategorySpy.calls.reset();
|
_updateWorkflowSpecCategorySpy.calls.reset();
|
||||||
|
|
||||||
component.selectedCat = mockWorkflowSpecCategory0;
|
component.selectedCat = mockWorkflowSpecCategory0;
|
||||||
const modifiedData: WorkflowSpecCategoryDialogData = createClone({circles: true})(mockWorkflowSpecCategory0);
|
const modifiedData: WorkflowSpecCategoryDialogData = cloneDeep(mockWorkflowSpecCategory0);
|
||||||
modifiedData.display_name = 'Modified';
|
modifiedData.display_name = 'Modified';
|
||||||
(component as any)._upsertWorkflowSpecCategory(modifiedData);
|
(component as any)._upsertWorkflowSpecCategory(modifiedData);
|
||||||
expect(_addWorkflowSpecCategorySpy).not.toHaveBeenCalled();
|
expect(_addWorkflowSpecCategorySpy).not.toHaveBeenCalled();
|
||||||
|
@ -483,7 +483,7 @@ describe('WorkflowSpecListComponent', () => {
|
||||||
category_id: null,
|
category_id: null,
|
||||||
};
|
};
|
||||||
(component as any)._loadWorkflowSpecs();
|
(component as any)._loadWorkflowSpecs();
|
||||||
const allSpecs = createClone({circles: true})(mockWorkflowSpecs);
|
const allSpecs = cloneDeep(mockWorkflowSpecs);
|
||||||
allSpecs.push(mockMasterSpec);
|
allSpecs.push(mockMasterSpec);
|
||||||
|
|
||||||
const req = httpMock.expectOne(`apiRoot/workflow-specification`);
|
const req = httpMock.expectOne(`apiRoot/workflow-specification`);
|
||||||
|
|
|
@ -2,7 +2,7 @@ import { Component, OnInit } from '@angular/core';
|
||||||
import { MatBottomSheet } from '@angular/material/bottom-sheet';
|
import { MatBottomSheet } from '@angular/material/bottom-sheet';
|
||||||
import { MatDialog } from '@angular/material/dialog';
|
import { MatDialog } from '@angular/material/dialog';
|
||||||
import { MatSnackBar } from '@angular/material/snack-bar';
|
import { MatSnackBar } from '@angular/material/snack-bar';
|
||||||
import createClone from 'rfdc';
|
import * as cloneDeep from "lodash/cloneDeep";
|
||||||
import {
|
import {
|
||||||
ApiService,
|
ApiService,
|
||||||
isNumberDefined,
|
isNumberDefined,
|
||||||
|
@ -352,7 +352,7 @@ export class WorkflowSpecListComponent implements OnInit {
|
||||||
id: number | string, direction: number,
|
id: number | string, direction: number,
|
||||||
list: Array<WorkflowSpecCategoryGroup | WorkflowSpec>
|
list: Array<WorkflowSpecCategoryGroup | WorkflowSpec>
|
||||||
): Array<WorkflowSpecCategoryGroup | WorkflowSpec> {
|
): Array<WorkflowSpecCategoryGroup | WorkflowSpec> {
|
||||||
const listClone = createClone({ circles: true })(list);
|
const listClone = cloneDeep(list);
|
||||||
const reorderedList = listClone.filter(item => item.id !== null && item.id !== undefined);
|
const reorderedList = listClone.filter(item => item.id !== null && item.id !== undefined);
|
||||||
const i = reorderedList.findIndex(spec => spec.id === id);
|
const i = reorderedList.findIndex(spec => spec.id === id);
|
||||||
if (i !== -1) {
|
if (i !== -1) {
|
||||||
|
@ -373,7 +373,7 @@ export class WorkflowSpecListComponent implements OnInit {
|
||||||
let numUpdated = 0;
|
let numUpdated = 0;
|
||||||
cats.forEach((cat, j) => {
|
cats.forEach((cat, j) => {
|
||||||
if (isNumberDefined(cat.id)) {
|
if (isNumberDefined(cat.id)) {
|
||||||
const newCat: WorkflowSpecCategoryGroup = createClone({ circles: true })(cat);
|
const newCat: WorkflowSpecCategoryGroup = cloneDeep(cat);
|
||||||
delete newCat.workflow_specs;
|
delete newCat.workflow_specs;
|
||||||
|
|
||||||
newCat.display_order = j;
|
newCat.display_order = j;
|
||||||
|
@ -395,7 +395,7 @@ export class WorkflowSpecListComponent implements OnInit {
|
||||||
}
|
}
|
||||||
let numUpdated = 0;
|
let numUpdated = 0;
|
||||||
specs.forEach((spec, j) => {
|
specs.forEach((spec, j) => {
|
||||||
const newSpec = createClone({ circles: true })(spec);
|
const newSpec = cloneDeep(spec);
|
||||||
newSpec.display_order = j;
|
newSpec.display_order = j;
|
||||||
this.api.updateWorkflowSpecification(newSpec.id, newSpec).subscribe(() => {
|
this.api.updateWorkflowSpecification(newSpec.id, newSpec).subscribe(() => {
|
||||||
numUpdated++;
|
numUpdated++;
|
||||||
|
|
Loading…
Reference in New Issue