summaryrefslogtreecommitdiffstats
path: root/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vfModuleUpgrade/vfModule.upgrade.popup.service.spec.ts
diff options
context:
space:
mode:
Diffstat (limited to 'vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vfModuleUpgrade/vfModule.upgrade.popup.service.spec.ts')
-rw-r--r--vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vfModuleUpgrade/vfModule.upgrade.popup.service.spec.ts63
1 files changed, 61 insertions, 2 deletions
diff --git a/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vfModuleUpgrade/vfModule.upgrade.popup.service.spec.ts b/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vfModuleUpgrade/vfModule.upgrade.popup.service.spec.ts
index a7c8214b4..5feadeb8a 100644
--- a/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vfModuleUpgrade/vfModule.upgrade.popup.service.spec.ts
+++ b/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vfModuleUpgrade/vfModule.upgrade.popup.service.spec.ts
@@ -4,7 +4,7 @@ import {BasicControlGenerator} from "../../../genericForm/formControlsServices/b
import {AaiService} from "../../../../services/aaiService/aai.service";
import {HttpClient} from "@angular/common/http";
import {GenericFormService} from "../../../genericForm/generic-form.service";
-import {FormBuilder} from "@angular/forms";
+import {FormBuilder, FormGroup} from "@angular/forms";
import {IframeService} from "../../../../utils/iframe.service";
import {DefaultDataGeneratorService} from "../../../../services/defaultDataServiceGenerator/default.data.generator.service";
import {BasicPopupService} from "../basic.popup.service";
@@ -14,6 +14,11 @@ import {FeatureFlagsService} from "../../../../services/featureFlag/feature-flag
import {getTestBed, TestBed} from "@angular/core/testing";
import {UpgradeFormControlNames, VfModuleUpgradePopupService} from "./vfModule.upgrade.popuop.service";
import {SharedTreeService} from "../../../../../drawingBoard/service-planning/objectsToTree/shared.tree.service";
+import {AppState} from "../../../../store/reducers";
+import {instance, mock} from "ts-mockito";
+import {GeneralActions} from "../../../../storeUtil/utils/general/general.actions";
+import {VfModuleActions} from "../../../../storeUtil/utils/vfModule/vfModule.actions";
+import {ServiceActions} from "../../../../storeUtil/utils/service/service.actions";
class MockModalService<T> {
}
@@ -27,6 +32,8 @@ class MockReduxStore<T> {
getState() {
return {};
}
+
+ dispatch() {}
}
class MockFeatureFlagsService {
@@ -39,6 +46,7 @@ describe('VFModule popup service', () => {
let defaultDataGeneratorService: DefaultDataGeneratorService;
let fb: FormBuilder;
let iframeService: IframeService;
+ let store : NgRedux<AppState>;
beforeAll(done => (async () => {
TestBed.configureTestingModule({
@@ -68,6 +76,7 @@ describe('VFModule popup service', () => {
defaultDataGeneratorService = injector.get(DefaultDataGeneratorService);
fb = injector.get(FormBuilder);
iframeService = injector.get(IframeService);
+ store = injector.get(NgRedux);
})().then(done).catch(done.fail));
@@ -77,7 +86,7 @@ describe('VFModule popup service', () => {
test('get controls should return retainAssignments control with false i', ()=> {
- const controls = service.getControls();
+ const controls = service.getControls('a', 'b', 'c', true);
expect(controls.length).toEqual(2);
const retainAssignmentsControl = controls.find((control)=>{
@@ -95,4 +104,54 @@ describe('VFModule popup service', () => {
expect(retainVolumeGroup).toBeDefined();
expect(retainVolumeGroup.value).toBeTruthy();
});
+
+ test('on submit should call merge action of form value to vfModule', () => {
+
+ //given
+
+ const serviceId = "serviceId5";
+ const vnfStoreKey = 'vnfStoreKey3';
+ const modelName = 'modelA';
+ const dynamicModelName = 'dynamicModel';
+ const that = {
+ uuidData : {
+ vfModule : {
+ data : {
+ modelName,
+ dynamicModelName
+ },
+ parent : {
+ data: {
+ vnfStoreKey
+ }}},
+ serviceId
+ },
+ serviceModel: {
+ uuid : "someUuid"
+ },
+ _iframeService: {
+ removeClassCloseModal : jest.fn()
+ }
+ };
+
+ let mockFrom: FormGroup = mock(FormGroup);
+ let form = instance(mockFrom);
+ form.value = {
+ a: "value",
+ b: "another"
+ };
+
+ spyOn(store, 'dispatch');
+
+ //when
+ service.onSubmit(that, form);
+
+ //then
+ expect(store.dispatch).toBeCalledWith(
+ {type: GeneralActions.MERGE_OBJECT_BY_PATH, path: ['serviceInstance', serviceId, 'vnfs', vnfStoreKey, 'vfModules',modelName, dynamicModelName], payload:form.value});
+ expect(store.dispatch).toBeCalledWith(
+ {type: VfModuleActions.UPGRADE_VFMODULE, dynamicModelName: "dynamicModel", modelName: "modelA", serviceId: "serviceId5", vnfStoreKey: "vnfStoreKey3"});
+ expect(store.dispatch).toBeCalledWith({type: ServiceActions.UPGRADE_SERVICE_ACTION, serviceUuid: "serviceId5"});
+
+ });
});