New Angular UI from 1806

Change-Id: I39c160db0e0a6ec2e587ccf007ee1b23c6a08666
Issue-ID: VID-208
Signed-off-by: Sonsino, Ofir (os0695) <os0695@intl.att.com>
diff --git a/vid-webpack-master/src/app/factories/mso.factory.spec.ts b/vid-webpack-master/src/app/factories/mso.factory.spec.ts
new file mode 100644
index 0000000..16efd29
--- /dev/null
+++ b/vid-webpack-master/src/app/factories/mso.factory.spec.ts
@@ -0,0 +1,319 @@
+import {createRequest} from './mso.factory';
+
+sessionStorage.setItem("msoRequestParametersTestApiValue","GR_API");
+describe('Vlantagging', () => {
+  it('should create a correct request', (done: DoneFn) => {
+    let userInputs_withEcompGeneratedNaming = {
+      "productFamily": "e433710f-9217-458d-a79d-1c7aff376d89",
+      "lcpRegion": "AAIAIC25",
+      "tenantId": "092eb9e8e4b7412e8787dd091bc58e86",
+      "aicZone": "YYY1",
+      "platformName": "plat1",
+      "lineOfBusiness": "ecomp"
+    };
+    let userInputs_withoutEcompGeneratedNaming = {
+      "instanceName": "New Name",
+      "productFamily": "e433710f-9217-458d-a79d-1c7aff376d89",
+      "lcpRegion": "AAIAIC25",
+      "tenantId": "092eb9e8e4b7412e8787dd091bc58e86",
+      "aicZone": "YYY1",
+      "platformName": "plat1",
+      "lineOfBusiness": "ecomp"
+    };
+    let service = {
+      "service": {
+        "uuid": "6bce7302-70bd-4057-b48e-8d5b99e686ca",
+        "invariantUuid": "9aa04749-c02c-432d-a90c-18caa361c833",
+        "name": "vDBE_srv",
+        "version": "1.0",
+        "toscaModelURL": null,
+        "category": "Network L4+",
+        "serviceType": "",
+        "serviceRole": "",
+        "description": "vDBE_srv",
+        "serviceEcompNaming": "true",
+        "instantiationType": "A-La-Carte",
+        "inputs": {}
+      },
+      "vnfs": {
+        "vDBE 0": {
+          "uuid": "61535073-2e50-4141-9000-f66fea69b433",
+          "invariantUuid": "fcdf49ce-6f0b-4ca2-b676-a484e650e734",
+          "description": "vDBE",
+          "name": "vDBE",
+          "version": "0.2",
+          "customizationUuid": "1",
+          "inputs": {},
+          "commands": {},
+          "properties": {
+            "nf_naming": "{ecomp_generated_naming=true}",
+            "multi_stage_design": "false",
+            "oam_vfc_instance_group_function": "oambbb",
+            "availability_zone_max_count": "1",
+            "oam_network_collection_function": "oamaaa",
+            "ecomp_generated_naming": "true",
+            "untr_vfc_instance_group_function": "untrbbb",
+            "untr_network_collection_function": "untraaa"
+          },
+          "type": "VF",
+          "modelCustomizationName": "vDBE 0",
+          "vfModules": {
+            "vdbe0..Vdbe..main..module-0": {
+              "uuid": "25a4d009-2f5a-44b4-b02a-62c584c15912",
+              "invariantUuid": "614afb1a-3e7e-44e9-90ab-424d0070c781",
+              "customizationUuid": "3443b341-7b0b-498c-a84a-a7ee736cba7e",
+              "description": null,
+              "name": "Vdbe..main..module-0",
+              "version": "1",
+              "modelCustomizationName": "Vdbe..main..module-0",
+              "properties": {
+                "minCountInstances": 1,
+                "maxCountInstances": 1,
+                "initialCount": 1,
+                "vfModuleLabel": "main"
+              },
+              "inputs": {},
+              "volumeGroupAllowed": false
+            }
+          },
+          "volumeGroups": {},
+          "vfcInstanceGroups": {
+            "untr_group": {
+              "uuid": "5fca04e2-a889-4579-8338-f60f1bf285fa",
+              "invariantUuid": "fb1e384b-117a-46ae-9ad1-bf2f1ee1e49f",
+              "name": "untr_group",
+              "version": "1",
+              "vfcInstanceGroupProperties": {
+                "vfcParentPortRole": "untr",
+                "networkCollectionFunction": "untraaa",
+                "vfcInstanceGroupFunction": null,
+                "subinterfaceRole": "untr"
+              }
+            },
+            "oam_group": {
+              "uuid": "a0efd5fc-f7be-4502-936a-a6c6392b958f",
+              "invariantUuid": "9384abf9-1231-4da4-bd8d-89e4d2f8a749",
+              "name": "oam_group",
+              "version": "1",
+              "vfcInstanceGroupProperties": {
+                "vfcParentPortRole": "untr",
+                "networkCollectionFunction": "untraaa",
+                "vfcInstanceGroupFunction": null,
+                "subinterfaceRole": "untr"
+              }
+            }
+          }
+        }
+      },
+      "networks": {},
+      "collectionResource": {},
+      "configurations": {},
+      "serviceProxies": {},
+      "vfModules": {
+        "vdbe0..Vdbe..main..module-0": {
+          "uuid": "25a4d009-2f5a-44b4-b02a-62c584c15912",
+          "invariantUuid": "614afb1a-3e7e-44e9-90ab-424d0070c781",
+          "customizationUuid": "3443b341-7b0b-498c-a84a-a7ee736cba7e",
+          "description": null,
+          "name": "Vdbe..main..module-0",
+          "version": "1",
+          "modelCustomizationName": "Vdbe..main..module-0",
+          "properties": {
+            "minCountInstances": 1,
+            "maxCountInstances": 1,
+            "initialCount": 1,
+            "vfModuleLabel": "main"
+          },
+          "inputs": {},
+          "volumeGroupAllowed": false
+        }
+      },
+      "volumeGroups": {},
+      "pnfs": {}
+    };
+    let serviceInstanceId: string = "6bce7302-70bd-4057-b48e-8d5b99e686ca";
+    let networkInstanceGroups = {
+      "untr_group": {
+        "instance-group": {
+          "instance-group-role": "JZmha7QSS4tJ",
+          "model-invariant-id": "model-id3",
+          "model-version-id": "a0efd5fc-f7be-4502-936a-a6c6392b958f",
+          "id": "AAI-12002-test3-vm230w",
+          "description": "a9DEa0kpY",
+          "instance-group-type": "type",
+          "resource-version": "1520888659539",
+          "instance-group-name": "wKmBXiO1xm8bK",
+          "instance-group-function": "testfunction2",
+          "relationship-list": {
+            "relationship": [
+              {
+                "relationDataList": [
+                  {
+                    "relationship-key": "cloud-region.cloud-owner",
+                    "relationship-value": "AAI-12002-vm230w"
+                  },
+                  {
+                    "relationship-key": "cloud-region.cloud-region-id",
+                    "relationship-value": "AAI-region-vm230w"
+                  }
+                ],
+                "relatedToPropertyList": [
+                  {
+                    "property-key": "cloud-region.owner-defined-type",
+                    "property-value": null
+                  }
+                ],
+                "related-to": "cloud-region",
+                "related-link": "/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/AAI-12002-vm230w/AAI-region-vm230w",
+                "relationship-label": "org.onap.relationships.inventory.Uses",
+                "relationship-data": [
+                  {
+                    "relationship-key": "cloud-region.cloud-owner",
+                    "relationship-value": "AAI-12002-vm230w"
+                  },
+                  {
+                    "relationship-key": "cloud-region.cloud-region-id",
+                    "relationship-value": "AAI-region-vm230w"
+                  }
+                ],
+                "related-to-property": [
+                  {
+                    "property-key": "cloud-region.owner-defined-type",
+                    "property-value": null
+                  }
+                ]
+              }
+            ]
+          }
+        }
+      },
+      "oam_group": {
+        "instance-group": {
+          "instance-group-role": "JZmha7QSS4tJ",
+          "model-invariant-id": "model-id3",
+          "model-version-id": "a0efd5fc-f7be-4502-936a-a6c6392b958f",
+          "id": "AAI-12002-test3-vm230w",
+          "description": "a9DEa0kpY",
+          "instance-group-type": "type",
+          "resource-version": "1520888659539",
+          "instance-group-name": "wKmBXiO1xm8bK",
+          "instance-group-function": "testfunction2",
+          "relationship-list": {
+            "relationship": [
+              {
+                "relationDataList": [
+                  {
+                    "relationship-key": "cloud-region.cloud-owner",
+                    "relationship-value": "AAI-12002-vm230w"
+                  },
+                  {
+                    "relationship-key": "cloud-region.cloud-region-id",
+                    "relationship-value": "AAI-region-vm230w"
+                  }
+                ],
+                "relatedToPropertyList": [
+                  {
+                    "property-key": "cloud-region.owner-defined-type",
+                    "property-value": null
+                  }
+                ],
+                "related-to": "cloud-region",
+                "related-link": "/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/AAI-12002-vm230w/AAI-region-vm230w",
+                "relationship-label": "org.onap.relationships.inventory.Uses",
+                "relationship-data": [
+                  {
+                    "relationship-key": "cloud-region.cloud-owner",
+                    "relationship-value": "AAI-12002-vm230w"
+                  },
+                  {
+                    "relationship-key": "cloud-region.cloud-region-id",
+                    "relationship-value": "AAI-region-vm230w"
+                  }
+                ],
+                "related-to-property": [
+                  {
+                    "property-key": "cloud-region.owner-defined-type",
+                    "property-value": null
+                  }
+                ]
+              }
+            ]
+          }
+        }
+      }
+    };
+    let expectedResult = {
+      "requestInfo": {
+        "productFamilyId": "e433710f-9217-458d-a79d-1c7aff376d89",
+        "source": "VID",
+        "requestorId": "az2016",
+        "suppressRollback": false
+      },
+      "lineOfBusiness": Object({ lineOfBusinessName: "ecomp" }),
+      "cloudConfiguration": {
+        "lcpCloudRegionId": "AAIAIC25",
+        "tenantId": "092eb9e8e4b7412e8787dd091bc58e86"
+      },
+      "platform": Object({ platformName: "plat1" }),
+      "modelInfo": {
+        modelCustomizationId :'1',
+        "modelVersionId": "61535073-2e50-4141-9000-f66fea69b433",
+        "modelCustomizationName": "vDBE 0",
+        "modelName": "vDBE",
+        "modelInvariantId": "fcdf49ce-6f0b-4ca2-b676-a484e650e734",
+        "modelType": "vnf",
+        "modelVersion": "0.2"
+      },
+      "requestParameters": {
+        "userParams": [],
+        "testApi": "GR_API"
+      },
+      "relatedInstanceList": [
+        {
+          "relatedInstance": {
+            "instanceId": "6bce7302-70bd-4057-b48e-8d5b99e686ca",
+            "modelInfo": {
+              "modelVersionId": "6bce7302-70bd-4057-b48e-8d5b99e686ca",
+              "modelName": "vDBE_srv",
+              "modelInvariantId": "9aa04749-c02c-432d-a90c-18caa361c833",
+              "modelType": "service",
+              "modelVersion": "1.0"
+            }
+          }
+        },
+        {
+          "relatedInstance": {
+            "instanceId": "AAI-12002-test3-vm230w",
+            "modelInfo": {
+              "modelName": "oam_group",
+              "modelType": "networkCollection",
+              "modelVersion": "1",
+              "modelVersionId": "a0efd5fc-f7be-4502-936a-a6c6392b958f",
+              "modelInvariantId": "9384abf9-1231-4da4-bd8d-89e4d2f8a749"
+            }
+          }
+        },
+        {
+          "relatedInstance": {
+            "instanceId": "AAI-12002-test3-vm230w",
+            "modelInfo": {
+              "modelName": "oam_group",
+              "modelType": "networkCollection",
+              "modelVersion": "1",
+              "modelVersionId": "a0efd5fc-f7be-4502-936a-a6c6392b958f",
+              "modelInvariantId": "9384abf9-1231-4da4-bd8d-89e4d2f8a749"
+            }
+          }
+        }
+      ]
+    };
+
+
+    let actualResult_withEcompGeneratedNaming = <any>createRequest("az2016",userInputs_withEcompGeneratedNaming, service, serviceInstanceId, networkInstanceGroups,'vDBE 0','1');
+    expect(actualResult_withEcompGeneratedNaming).toEqual(expectedResult);
+    expectedResult["requestInfo"]["instanceName"] = "New Name";
+    let actualResult_withoutEcompGeneratedNaming = <any>createRequest("az2016",userInputs_withoutEcompGeneratedNaming, service, serviceInstanceId, networkInstanceGroups,'vDBE 0','1');
+    expect(actualResult_withoutEcompGeneratedNaming).toEqual(expectedResult);
+    done();
+  });
+});