Catalog alignment

Issue-ID: SDC-2724
Signed-off-by: ys9693 <ys9693@att.com>
Change-Id: I52b4aacb58cbd432ca0e1ff7ff1f7dd52099c6fe
diff --git a/catalog-ui/src/jest/jest-global-mocks.ts b/catalog-ui/src/jest/jest-global-mocks.ts
new file mode 100644
index 0000000..9e56d6d
--- /dev/null
+++ b/catalog-ui/src/jest/jest-global-mocks.ts
@@ -0,0 +1,16 @@
+const mock = () => {
+    let storage = {};
+    return {
+  getItem: key => (key in storage ? storage[key] : null),
+             setItem: (key, value) => (storage[key] = value || ''),
+             removeItem: key => delete storage[key],
+             clear: () => (storage = {})
+    };
+  };
+
+  Object.defineProperty(window, 'localStorage', { value: mock() });
+  Object.defineProperty(window, 'sessionStorage', { value: mock() });
+  Object.defineProperty(window, 'getComputedStyle', {
+        value: () => ['-webkit-appearance'],
+
+  });
\ No newline at end of file
diff --git a/catalog-ui/src/jest/mocks/artifacts-mock.ts b/catalog-ui/src/jest/mocks/artifacts-mock.ts
new file mode 100644
index 0000000..3cb8741
--- /dev/null
+++ b/catalog-ui/src/jest/mocks/artifacts-mock.ts
@@ -0,0 +1,799 @@
+export const informationalArtifactsMock = { artifacts: {
+        "cloudquestionnaire": {
+            "listHeatParameters": [],
+            "timeout": 0,
+            "creationDate": 1547991325209,
+            "description": "asfasfasf",
+            "uniqueId": "0a76315b-529e-49bd-8459-a6a0696c4b93.cloudquestionnaire",
+            "artifactName": "AutoRecovery-save-of-The-new-Tal's-bible-of-ATT-image-(005).asd",
+            "artifactType": "OTHER",
+            "generated": false,
+            "artifactLabel": "cloudquestionnaire",
+            "artifactUUID": "32c1acf4-a2ec-4f56-b319-5274fb746e5e",
+            "artifactVersion": "1",
+            "heatParameters": [],
+            "artifactGroupType": "INFORMATIONAL",
+            "heatParamsUpdateDate": null,
+            "artifactChecksum": "ODVhYjYyMGM4NmU5Y2IyMjVjZWIxMTU4OTRjZmY4Mjc=",
+            "generatedFromId": null,
+            "mandatory": true,
+            "serviceApi": false,
+            "payloadUpdateDate": 1548774782731,
+            "lastUpdateDate": 1548774782192,
+            "creatorFullName": "Carlos Santana",
+            "duplicated": false,
+            "esId": "0a76315b-529e-49bd-8459-a6a0696c4b93.cloudquestionnaire",
+            "artifactDisplayName": "Cloud Questionnaire (completed)",
+            "userIdCreator": "cs0008",
+            "updaterFullName": "Carlos Santana",
+            "userIdLastUpdater": "cs0008",
+            "isFromCsar": false,
+            "apiUrl": null,
+            "artifactRepository": null,
+            "artifactCreator": null,
+            "version": null,
+            "ownerId": null,
+            "empty": false,
+            "type": null
+        },
+        "features": {
+            "payloadData": null,
+            "listHeatParameters": null,
+            "timeout": 0,
+            "creationDate": 1547991325209,
+            "description": null,
+            "uniqueId": "debae48f-52da-44da-a0ae-b44441ea9abc.features",
+            "artifactName": null,
+            "artifactType": "OTHER",
+            "artifactRef": null,
+            "requiredArtifacts": null,
+            "generated": false,
+            "artifactLabel": "features",
+            "artifactUUID": null,
+            "artifactVersion": "0",
+            "heatParameters": null,
+            "artifactGroupType": "INFORMATIONAL",
+            "heatParamsUpdateDate": null,
+            "artifactChecksum": null,
+            "generatedFromId": null,
+            "mandatory": true,
+            "serviceApi": false,
+            "payloadUpdateDate": null,
+            "lastUpdateDate": 1547991325209,
+            "creatorFullName": "Carlos Santana",
+            "duplicated": true,
+            "esId": null,
+            "artifactDisplayName": "Features",
+            "userIdCreator": "cs0008",
+            "updaterFullName": "Carlos Santana",
+            "userIdLastUpdater": "cs0008",
+            "isFromCsar": false,
+            "apiUrl": null,
+            "artifactRepository": null,
+            "artifactCreator": null,
+            "version": null,
+            "ownerId": null,
+            "empty": false,
+            "type": null
+        },
+        "vendortestresult": {
+            "payloadData": null,
+            "listHeatParameters": null,
+            "timeout": 0,
+            "creationDate": 1547991325209,
+            "description": null,
+            "uniqueId": "debae48f-52da-44da-a0ae-b44441ea9abc.vendortestresult",
+            "artifactName": null,
+            "artifactType": "OTHER",
+            "artifactRef": null,
+            "requiredArtifacts": null,
+            "generated": false,
+            "artifactLabel": "vendortestresult",
+            "artifactUUID": null,
+            "artifactVersion": "0",
+            "heatParameters": null,
+            "artifactGroupType": "INFORMATIONAL",
+            "heatParamsUpdateDate": null,
+            "artifactChecksum": null,
+            "generatedFromId": null,
+            "mandatory": true,
+            "serviceApi": false,
+            "payloadUpdateDate": null,
+            "lastUpdateDate": 1547991325209,
+            "creatorFullName": "Carlos Santana",
+            "duplicated": true,
+            "esId": null,
+            "artifactDisplayName": "Vendor Test Result",
+            "userIdCreator": "cs0008",
+            "updaterFullName": "Carlos Santana",
+            "userIdLastUpdater": "cs0008",
+            "isFromCsar": false,
+            "apiUrl": null,
+            "artifactRepository": null,
+            "artifactCreator": null,
+            "version": null,
+            "ownerId": null,
+            "empty": false,
+            "type": null
+        },
+        "vspvmmevspdror1informationtxt": {
+            "payloadData": null,
+            "listHeatParameters": null,
+            "timeout": 0,
+            "creationDate": 1547991328134,
+            "description": "Artifact created from csar",
+            "uniqueId": "debae48f-52da-44da-a0ae-b44441ea9abc.vspvmmevspdror1informationtxt",
+            "artifactName": "VSP_Vmme_VSP_Dror1_Information.txt",
+            "artifactType": "GUIDE",
+            "artifactRef": null,
+            "requiredArtifacts": [],
+            "generated": false,
+            "artifactLabel": "vspvmmevspdror1informationtxt",
+            "artifactUUID": "2fd130af-853c-4d4a-bc6b-8e9ab037911a",
+            "artifactVersion": "1",
+            "heatParameters": null,
+            "artifactGroupType": "INFORMATIONAL",
+            "heatParamsUpdateDate": null,
+            "artifactChecksum": "NjFmZmIxZjVlZDA3NDc2M2U2NzRiYmU3MjhlYTYyZDI=",
+            "generatedFromId": null,
+            "mandatory": false,
+            "serviceApi": false,
+            "payloadUpdateDate": 1547991328137,
+            "lastUpdateDate": 1547991328134,
+            "creatorFullName": null,
+            "duplicated": true,
+            "esId": "debae48f-52da-44da-a0ae-b44441ea9abc.vspvmmevspdror1informationtxt",
+            "artifactDisplayName": "VSP_Vmme_VSP_Dror1_Information",
+            "userIdCreator": null,
+            "updaterFullName": "Carlos Santana",
+            "userIdLastUpdater": "cs0008",
+            "isFromCsar": true,
+            "apiUrl": null,
+            "artifactRepository": null,
+            "artifactCreator": "cs0008",
+            "version": null,
+            "ownerId": null,
+            "empty": false,
+            "type": null
+        },
+        "testscripts": {
+            "payloadData": null,
+            "listHeatParameters": null,
+            "timeout": 0,
+            "creationDate": 1547991325209,
+            "description": null,
+            "uniqueId": "debae48f-52da-44da-a0ae-b44441ea9abc.testscripts",
+            "artifactName": null,
+            "artifactType": "OTHER",
+            "artifactRef": null,
+            "requiredArtifacts": null,
+            "generated": false,
+            "artifactLabel": "testscripts",
+            "artifactUUID": null,
+            "artifactVersion": "0",
+            "heatParameters": null,
+            "artifactGroupType": "INFORMATIONAL",
+            "heatParamsUpdateDate": null,
+            "artifactChecksum": null,
+            "generatedFromId": null,
+            "mandatory": true,
+            "serviceApi": false,
+            "payloadUpdateDate": null,
+            "lastUpdateDate": 1547991325209,
+            "creatorFullName": "Carlos Santana",
+            "duplicated": true,
+            "esId": null,
+            "artifactDisplayName": "Test Scripts",
+            "userIdCreator": "cs0008",
+            "updaterFullName": "Carlos Santana",
+            "userIdLastUpdater": "cs0008",
+            "isFromCsar": false,
+            "apiUrl": null,
+            "artifactRepository": null,
+            "artifactCreator": null,
+            "version": null,
+            "ownerId": null,
+            "empty": false,
+            "type": null
+        },
+        "testtt": {
+            "payloadData": null,
+            "listHeatParameters": null,
+            "timeout": 0,
+            "creationDate": 1548592242499,
+            "description": "ttttt",
+            "uniqueId": "0a76315b-529e-49bd-8459-a6a0696c4b93.testtt",
+            "artifactName": "ParticipantStartSh_DF0BA5751BF84E0AABDD4B6DA83B3B0C.exe",
+            "artifactType": "OTHER",
+            "artifactRef": null,
+            "requiredArtifacts": null,
+            "generated": false,
+            "artifactLabel": "testtt",
+            "artifactUUID": "66e47ed0-41dd-4a52-acd6-b9b81c0de938",
+            "artifactVersion": "1",
+            "heatParameters": null,
+            "artifactGroupType": "INFORMATIONAL",
+            "heatParamsUpdateDate": null,
+            "artifactChecksum": "ZmRmZTAyNTFkNDk3ZWU5M2M1MzYyYWU4MmFmMWJlNzE=",
+            "generatedFromId": null,
+            "mandatory": false,
+            "serviceApi": false,
+            "payloadUpdateDate": 1548592243018,
+            "lastUpdateDate": 1548592242499,
+            "creatorFullName": null,
+            "duplicated": false,
+            "esId": "0a76315b-529e-49bd-8459-a6a0696c4b93.testtt",
+            "artifactDisplayName": "testtt",
+            "userIdCreator": null,
+            "updaterFullName": "Carlos Santana",
+            "userIdLastUpdater": "cs0008",
+            "isFromCsar": false,
+            "apiUrl": null,
+            "artifactRepository": null,
+            "artifactCreator": "cs0008",
+            "version": null,
+            "ownerId": null,
+            "empty": false,
+            "type": null
+        },
+        "resourcesecuritytemplate": {
+            "payloadData": null,
+            "listHeatParameters": null,
+            "timeout": 0,
+            "creationDate": 1547991325209,
+            "description": null,
+            "uniqueId": "debae48f-52da-44da-a0ae-b44441ea9abc.resourcesecuritytemplate",
+            "artifactName": null,
+            "artifactType": "OTHER",
+            "artifactRef": null,
+            "requiredArtifacts": null,
+            "generated": false,
+            "artifactLabel": "resourcesecuritytemplate",
+            "artifactUUID": null,
+            "artifactVersion": "0",
+            "heatParameters": null,
+            "artifactGroupType": "INFORMATIONAL",
+            "heatParamsUpdateDate": null,
+            "artifactChecksum": null,
+            "generatedFromId": null,
+            "mandatory": true,
+            "serviceApi": false,
+            "payloadUpdateDate": null,
+            "lastUpdateDate": 1547991325209,
+            "creatorFullName": "Carlos Santana",
+            "duplicated": true,
+            "esId": null,
+            "artifactDisplayName": "Resource Security Template",
+            "userIdCreator": "cs0008",
+            "updaterFullName": "Carlos Santana",
+            "userIdLastUpdater": "cs0008",
+            "isFromCsar": false,
+            "apiUrl": null,
+            "artifactRepository": null,
+            "artifactCreator": null,
+            "version": null,
+            "ownerId": null,
+            "empty": false,
+            "type": null
+        },
+        "heattemplatefromvendor": {
+            "payloadData": null,
+            "listHeatParameters": null,
+            "timeout": 0,
+            "creationDate": 1547991325209,
+            "description": null,
+            "uniqueId": "debae48f-52da-44da-a0ae-b44441ea9abc.heattemplatefromvendor",
+            "artifactName": null,
+            "artifactType": "HEAT",
+            "artifactRef": null,
+            "requiredArtifacts": null,
+            "generated": false,
+            "artifactLabel": "heattemplatefromvendor",
+            "artifactUUID": null,
+            "artifactVersion": "0",
+            "heatParameters": null,
+            "artifactGroupType": "INFORMATIONAL",
+            "heatParamsUpdateDate": null,
+            "artifactChecksum": null,
+            "generatedFromId": null,
+            "mandatory": true,
+            "serviceApi": false,
+            "payloadUpdateDate": null,
+            "lastUpdateDate": 1547991325209,
+            "creatorFullName": "Carlos Santana",
+            "duplicated": true,
+            "esId": null,
+            "artifactDisplayName": "HEAT Template from Vendor",
+            "userIdCreator": "cs0008",
+            "updaterFullName": "Carlos Santana",
+            "userIdLastUpdater": "cs0008",
+            "isFromCsar": false,
+            "apiUrl": null,
+            "artifactRepository": null,
+            "artifactCreator": null,
+            "version": null,
+            "ownerId": null,
+            "empty": false,
+            "type": null
+        },
+        "capacity": {
+            "payloadData": null,
+            "listHeatParameters": null,
+            "timeout": 0,
+            "creationDate": 1547991325209,
+            "description": null,
+            "uniqueId": "0a76315b-529e-49bd-8459-a6a0696c4b93.capacity",
+            "artifactName": null,
+            "artifactType": "OTHER",
+            "artifactRef": null,
+            "requiredArtifacts": null,
+            "generated": false,
+            "artifactLabel": "capacity",
+            "artifactUUID": null,
+            "artifactVersion": "2",
+            "heatParameters": null,
+            "artifactGroupType": "INFORMATIONAL",
+            "heatParamsUpdateDate": null,
+            "artifactChecksum": null,
+            "generatedFromId": null,
+            "mandatory": true,
+            "serviceApi": false,
+            "payloadUpdateDate": 1548774818030,
+            "lastUpdateDate": 1548774812999,
+            "creatorFullName": "Carlos Santana",
+            "duplicated": false,
+            "esId": null,
+            "artifactDisplayName": "Capacity",
+            "userIdCreator": "cs0008",
+            "updaterFullName": "Carlos Santana",
+            "userIdLastUpdater": "cs0008",
+            "isFromCsar": false,
+            "apiUrl": null,
+            "artifactRepository": null,
+            "artifactCreator": null,
+            "version": null,
+            "ownerId": null,
+            "empty": false,
+            "type": null
+        }
+    }
+}
+
+export const toscaArtifactMock = {
+    toscaArtifacts: {
+        toscaArtifacts: {
+            assettoscacsar: {
+                artifactDisplayName: "Tosca Template",
+                artifactLabel: "assettoscatemplate",
+                artifactType: "TOSCA_TEMPLATE",
+                artifactName: "service-Asfasfasf-template.yml",
+                description: "TOSCA representation of the asset",
+                uniqueId: "a4bbd47a-5644-49f8-828b-525c6deac154.assettoscatemplate"
+            },
+            assettoscatemplate: {
+                artifactDisplayName: "Tosca Template",
+                artifactLabel: "assettoscatemplate",
+                artifactName: "service-Asfasfasf-template.yml",
+                artifactType: "TOSCA_TEMPLATE",
+                uniqueId: "a4bbd47a-5644-49f8-828b-525c6deac154.assettoscatemplate"
+            },
+        }
+    }
+}
+
+export const deploymentArtifactMock = {
+    deploymentArtifacts: {
+        "heatvol2": {
+            "payloadData": null,
+            "listHeatParameters": [
+                {
+                    "uniqueId": null,
+                    "name": "oam_0_volume_name_0",
+                    "type": "string",
+                    "description": "name for compact flash 1 for active OAM",
+                    "currentValue": "oam_0_cf1",
+                    "defaultValue": null,
+                    "version": null,
+                    "ownerId": null,
+                    "empty": false
+                },
+                {
+                    "uniqueId": null,
+                    "name": "oam_0_volume_size_0",
+                    "type": "number",
+                    "description": "size in gb for compact flash 1 active OAM",
+                    "currentValue": "25",
+                    "defaultValue": null,
+                    "version": null,
+                    "ownerId": null,
+                    "empty": false
+                },
+                {
+                    "uniqueId": null,
+                    "name": "oam_1_volume_name_0",
+                    "type": "string",
+                    "description": "name for compact flash 1 for standby OAM",
+                    "currentValue": "oam_1_cf1",
+                    "defaultValue": null,
+                    "version": null,
+                    "ownerId": null,
+                    "empty": false
+                },
+                {
+                    "uniqueId": null,
+                    "name": "oam_1_volume_size_0",
+                    "type": "number",
+                    "description": "size in gb for compact flash 1 for standby OAM",
+                    "currentValue": "25",
+                    "defaultValue": null,
+                    "version": null,
+                    "ownerId": null,
+                    "empty": false
+                },
+                {
+                    "uniqueId": null,
+                    "name": "oam_0_volume_name_1",
+                    "type": "string",
+                    "description": "name for compact flash 2 for active OAM",
+                    "currentValue": "oam_0_cf2",
+                    "defaultValue": null,
+                    "version": null,
+                    "ownerId": null,
+                    "empty": false
+                },
+                {
+                    "uniqueId": null,
+                    "name": "oam_0_volume_size_1",
+                    "type": "number",
+                    "description": "size in gb for compact flash 2 for active OAM",
+                    "currentValue": "25",
+                    "defaultValue": null,
+                    "version": null,
+                    "ownerId": null,
+                    "empty": false
+                },
+                {
+                    "uniqueId": null,
+                    "name": "oam_1_volume_name_1",
+                    "type": "string",
+                    "description": "name for compact flash 2 for standby OAM",
+                    "currentValue": "oam_1_cf2",
+                    "defaultValue": null,
+                    "version": null,
+                    "ownerId": null,
+                    "empty": false
+                },
+                {
+                    "uniqueId": null,
+                    "name": "oam_1_volume_size_1",
+                    "type": "number",
+                    "description": "size in gb for compact flash 2 for standby OAM",
+                    "currentValue": "25",
+                    "defaultValue": null,
+                    "version": null,
+                    "ownerId": null,
+                    "empty": false
+                }
+            ],
+            "timeout": 60,
+            "creationDate": 1547991328467,
+            "description": "created from csar",
+            "uniqueId": "debae48f-52da-44da-a0ae-b44441ea9abc.heatvol2",
+            "artifactName": "base_vepdg_volume.yaml",
+            "artifactType": "HEAT_VOL",
+            "artifactRef": null,
+            "requiredArtifacts": [],
+            "generated": false,
+            "artifactLabel": "heatvol2",
+            "artifactUUID": "148be9e1-ed72-4587-ae66-0ee3354a8e3d",
+            "artifactVersion": "2",
+            "heatParameters": [],
+            "artifactGroupType": "DEPLOYMENT",
+            "heatParamsUpdateDate": null,
+            "artifactChecksum": "YWNlNDljNmZiZTcyODhhYTM5MzU3ZmIzZTg3NWQzNTY=",
+            "generatedFromId": null,
+            "mandatory": false,
+            "serviceApi": false,
+            "payloadUpdateDate": 1547991328532,
+            "lastUpdateDate": 1547991328467,
+            "creatorFullName": null,
+            "duplicated": true,
+            "esId": "debae48f-52da-44da-a0ae-b44441ea9abc.heatvol2",
+            "artifactDisplayName": "base_vepdg_volume",
+            "userIdCreator": null,
+            "updaterFullName": "Carlos Santana",
+            "userIdLastUpdater": "cs0008",
+            "isFromCsar": true,
+            "apiUrl": null,
+            "artifactRepository": null,
+            "artifactCreator": "cs0008",
+            "version": null,
+            "ownerId": null,
+            "empty": false,
+            "type": null
+        },
+        "heatvol2env": {
+            "payloadData": null,
+            "listHeatParameters": null,
+            "timeout": 0,
+            "creationDate": 1547991328534,
+            "description": "VF Auto-generated HEAT Environment deployment artifact",
+            "uniqueId": "debae48f-52da-44da-a0ae-b44441ea9abc.heatvol2env",
+            "artifactName": "base_vepdg_volume.env",
+            "artifactType": "HEAT_ENV",
+            "artifactRef": null,
+            "requiredArtifacts": null,
+            "generated": false,
+            "artifactLabel": "heatvol2env",
+            "artifactUUID": null,
+            "artifactVersion": "0",
+            "heatParameters": null,
+            "artifactGroupType": "DEPLOYMENT",
+            "heatParamsUpdateDate": 1547991328534,
+            "artifactChecksum": null,
+            "generatedFromId": "debae48f-52da-44da-a0ae-b44441ea9abc.heatvol2",
+            "mandatory": true,
+            "serviceApi": false,
+            "payloadUpdateDate": null,
+            "lastUpdateDate": 1547991328534,
+            "creatorFullName": "Carlos Santana",
+            "duplicated": true,
+            "esId": null,
+            "artifactDisplayName": "VF HEAT ENV",
+            "userIdCreator": "cs0008",
+            "updaterFullName": "Carlos Santana",
+            "userIdLastUpdater": "cs0008",
+            "isFromCsar": true,
+            "apiUrl": null,
+            "artifactRepository": null,
+            "artifactCreator": null,
+            "version": null,
+            "ownerId": null,
+            "empty": false,
+            "type": null
+        },
+        "vflicense": {
+            "payloadData": null,
+            "listHeatParameters": null,
+            "timeout": 0,
+            "creationDate": 1547991328061,
+            "description": "VF license file",
+            "uniqueId": "debae48f-52da-44da-a0ae-b44441ea9abc.vflicense",
+            "artifactName": "vf-license-model.xml",
+            "artifactType": "VF_LICENSE",
+            "artifactRef": null,
+            "requiredArtifacts": [],
+            "generated": false,
+            "artifactLabel": "vflicense",
+            "artifactUUID": "f9347089-6605-4714-97ba-a678490e69a2",
+            "artifactVersion": "1",
+            "heatParameters": null,
+            "artifactGroupType": "DEPLOYMENT",
+            "heatParamsUpdateDate": null,
+            "artifactChecksum": "ZDE3MzEyYWUyZGRlNDkwYWZiZTY0MmMyNTgxOGNjNzM=",
+            "generatedFromId": null,
+            "mandatory": false,
+            "serviceApi": false,
+            "payloadUpdateDate": 1547991328069,
+            "lastUpdateDate": 1547991328061,
+            "creatorFullName": null,
+            "duplicated": true,
+            "esId": "debae48f-52da-44da-a0ae-b44441ea9abc.vflicense",
+            "artifactDisplayName": "VF License",
+            "userIdCreator": null,
+            "updaterFullName": "Carlos Santana",
+            "userIdLastUpdater": "cs0008",
+            "isFromCsar": true,
+            "apiUrl": null,
+            "artifactRepository": null,
+            "artifactCreator": "cs0008",
+            "version": null,
+            "ownerId": null,
+            "empty": false,
+            "type": null
+        },
+        "heatnested5": {
+            "payloadData": null,
+            "listHeatParameters": null,
+            "timeout": 0,
+            "creationDate": 1547991328718,
+            "description": "created from csar",
+            "uniqueId": "debae48f-52da-44da-a0ae-b44441ea9abc.heatnested5",
+            "artifactName": "nested_lb_vepdg.yaml",
+            "artifactType": "HEAT_NESTED",
+            "artifactRef": null,
+            "requiredArtifacts": [],
+            "generated": false,
+            "artifactLabel": "heatnested5",
+            "artifactUUID": "c1ba8d08-242f-4916-8733-6f4d3f8fc5ac",
+            "artifactVersion": "1",
+            "heatParameters": null,
+            "artifactGroupType": "DEPLOYMENT",
+            "heatParamsUpdateDate": null,
+            "artifactChecksum": "ZjA4NTU5MzgyMWFhZjVlYWE0NmJkOGRmYmQ0OTNjMDI=",
+            "generatedFromId": null,
+            "mandatory": false,
+            "serviceApi": false,
+            "payloadUpdateDate": 1547991328731,
+            "lastUpdateDate": 1547991328718,
+            "creatorFullName": null,
+            "duplicated": true,
+            "esId": "debae48f-52da-44da-a0ae-b44441ea9abc.heatnested5",
+            "artifactDisplayName": "nested_lb_vepdg",
+            "userIdCreator": null,
+            "updaterFullName": "Carlos Santana",
+            "userIdLastUpdater": "cs0008",
+            "isFromCsar": true,
+            "apiUrl": null,
+            "artifactRepository": null,
+            "artifactCreator": "cs0008",
+            "version": null,
+            "ownerId": null,
+            "empty": false,
+            "type": null
+        },
+        "heatnested4": {
+            "payloadData": null,
+            "listHeatParameters": null,
+            "timeout": 0,
+            "creationDate": 1547991328649,
+            "description": "created from csar",
+            "uniqueId": "debae48f-52da-44da-a0ae-b44441ea9abc.heatnested4",
+            "artifactName": "nested_mg_vepdg.yaml",
+            "artifactType": "HEAT_NESTED",
+            "artifactRef": null,
+            "requiredArtifacts": [],
+            "generated": false,
+            "artifactLabel": "heatnested4",
+            "artifactUUID": "5eac381a-a07d-427f-9ff1-eb87e6492302",
+            "artifactVersion": "1",
+            "heatParameters": null,
+            "artifactGroupType": "DEPLOYMENT",
+            "heatParamsUpdateDate": null,
+            "artifactChecksum": "ODNkODJlODhmZTYwNDMwZTViZWYxMGM3ZGVkMTg3Y2I=",
+            "generatedFromId": null,
+            "mandatory": false,
+            "serviceApi": false,
+            "payloadUpdateDate": 1547991328660,
+            "lastUpdateDate": 1547991328649,
+            "creatorFullName": null,
+            "duplicated": true,
+            "esId": "debae48f-52da-44da-a0ae-b44441ea9abc.heatnested4",
+            "artifactDisplayName": "nested_mg_vepdg",
+            "userIdCreator": null,
+            "updaterFullName": "Carlos Santana",
+            "userIdLastUpdater": "cs0008",
+            "isFromCsar": true,
+            "apiUrl": null,
+            "artifactRepository": null,
+            "artifactCreator": "cs0008",
+            "version": null,
+            "ownerId": null,
+            "empty": false,
+            "type": null
+        },
+        "heat1": {
+            "payloadData": null,
+            "listHeatParameters": [],
+            "timeout": 60,
+            "creationDate": 1547991328284,
+            "description": "created from csar",
+            "uniqueId": "debae48f-52da-44da-a0ae-b44441ea9abc.heat1",
+            "artifactName": "base_vepdg.yaml",
+            "artifactType": "HEAT",
+            "artifactRef": null,
+            "requiredArtifacts": [
+                "nested_oam_vepdg.yaml",
+                "nested_mg_vepdg.yaml",
+                "nested_lb_vepdg.yaml"
+            ],
+            "generated": false,
+            "artifactLabel": "heat1",
+            "artifactUUID": "3b29d5a5-f22c-4d1a-a882-c3631947686e",
+            "artifactVersion": "2",
+            "artifactGroupType": "DEPLOYMENT",
+            "heatParamsUpdateDate": null,
+            "artifactChecksum": "MjA5Mzc1MDIyMmVmZmMwYWI4ODc1YzA3NDZmZDU4NjA=",
+            "generatedFromId": null,
+            "mandatory": false,
+            "serviceApi": false,
+            "payloadUpdateDate": 1547991328410,
+            "lastUpdateDate": 1547991328284,
+            "creatorFullName": null,
+            "duplicated": true,
+            "esId": "debae48f-52da-44da-a0ae-b44441ea9abc.heat1",
+            "artifactDisplayName": "base_vepdg",
+            "userIdCreator": null,
+            "updaterFullName": "Carlos Santana",
+            "userIdLastUpdater": "cs0008",
+            "isFromCsar": true,
+            "apiUrl": null,
+            "artifactRepository": null,
+            "artifactCreator": "cs0008",
+            "version": null,
+            "ownerId": null,
+            "empty": false,
+            "type": null
+        },
+        "vendorlicense": {
+            "payloadData": null,
+            "listHeatParameters": null,
+            "timeout": 0,
+            "creationDate": 1547991328011,
+            "description": " Vendor license file",
+            "uniqueId": "debae48f-52da-44da-a0ae-b44441ea9abc.vendorlicense",
+            "artifactName": "vendor-license-model.xml",
+            "artifactType": "VENDOR_LICENSE",
+            "artifactRef": null,
+            "requiredArtifacts": [],
+            "generated": false,
+            "artifactLabel": "vendorlicense",
+            "artifactUUID": "548aa629-2e90-4c69-983f-6ce41e8c3877",
+            "artifactVersion": "1",
+            "heatParameters": null,
+            "artifactGroupType": "DEPLOYMENT",
+            "heatParamsUpdateDate": null,
+            "artifactChecksum": "ZDQ0NDg4M2ExYjM3M2YxZDM3YmNlMjI2MjYzMTA0Njc=",
+            "generatedFromId": null,
+            "mandatory": false,
+            "serviceApi": false,
+            "payloadUpdateDate": 1547991328020,
+            "lastUpdateDate": 1547991328011,
+            "creatorFullName": null,
+            "duplicated": true,
+            "esId": "debae48f-52da-44da-a0ae-b44441ea9abc.vendorlicense",
+            "artifactDisplayName": "Vendor License",
+            "userIdCreator": null,
+            "updaterFullName": "Carlos Santana",
+            "userIdLastUpdater": "cs0008",
+            "isFromCsar": true,
+            "apiUrl": null,
+            "artifactRepository": null,
+            "artifactCreator": "cs0008",
+            "version": null,
+            "ownerId": null,
+            "empty": false,
+            "type": null
+        },
+        "heat1env": {
+            "payloadData": null,
+            "listHeatParameters": null,
+            "timeout": 0,
+            "creationDate": 1547991328413,
+            "description": "VF Auto-generated HEAT Environment deployment artifact",
+            "uniqueId": "debae48f-52da-44da-a0ae-b44441ea9abc.heat1env",
+            "artifactName": "base_vepdg.env",
+            "artifactType": "HEAT_ENV",
+            "artifactRef": null,
+            "requiredArtifacts": null,
+            "generated": false,
+            "artifactLabel": "heat1env",
+            "artifactUUID": null,
+            "artifactVersion": "0",
+            "heatParameters": null,
+            "artifactGroupType": "DEPLOYMENT",
+            "heatParamsUpdateDate": 1547991328413,
+            "artifactChecksum": null,
+            "generatedFromId": "debae48f-52da-44da-a0ae-b44441ea9abc.heat1",
+            "mandatory": true,
+            "serviceApi": false,
+            "payloadUpdateDate": null,
+            "lastUpdateDate": 1547991328413,
+            "creatorFullName": "Carlos Santana",
+            "duplicated": true,
+            "esId": null,
+            "artifactDisplayName": "VF HEAT ENV",
+            "userIdCreator": "cs0008",
+            "updaterFullName": "Carlos Santana",
+            "userIdLastUpdater": "cs0008",
+            "isFromCsar": true,
+            "apiUrl": null,
+            "artifactRepository": null,
+            "artifactCreator": null,
+            "version": null,
+            "ownerId": null,
+            "empty": false,
+            "type": null
+        }
+    }
+}
\ No newline at end of file
diff --git a/catalog-ui/src/jest/mocks/categories.mock.ts b/catalog-ui/src/jest/mocks/categories.mock.ts
new file mode 100644
index 0000000..49a5e1e
--- /dev/null
+++ b/catalog-ui/src/jest/mocks/categories.mock.ts
@@ -0,0 +1,36 @@
+export const categoriesElements =
+    [
+        {"name":"Allotted Resource","normalizedName":"allotted resource","uniqueId":"resourceNewCategory.allotted resource","icons":null,"subcategories":[{"name":"Tunnel XConnect","normalizedName":"tunnel xconnect","uniqueId":"resourceNewCategory.allotted resource.tunnel xconnect","icons":["tunnel_x_connect"],"groupings":null,"version":null,"ownerId":null,"empty":false,"type":null},{"name":"Contrail Route","normalizedName":"contrail route","uniqueId":"resourceNewCategory.allotted resource.contrail route","icons":["contrail_route"],"groupings":null,"version":null,"ownerId":null,"empty":false,"type":null},{"name":"Security Zone","normalizedName":"security zone","uniqueId":"resourceNewCategory.allotted resource.security zone","icons":["security_zone"],"groupings":null,"version":null,"ownerId":null,"empty":false,"type":null},{"name":"Allotted Resource","normalizedName":"allotted resource","uniqueId":"resourceNewCategory.allotted resource.allotted resource","icons":["allotted_resource"],"groupings":null,"version":null,"ownerId":null,"empty":false,"type":null},{"name":"IP Mux Demux","normalizedName":"ip mux demux","uniqueId":"resourceNewCategory.allotted resource.ip mux demux","icons":["ip_mux_demux"],"groupings":null,"version":null,"ownerId":null,"empty":false,"type":null},{"name":"Service Admin","normalizedName":"service admin","uniqueId":"resourceNewCategory.allotted resource.service admin","icons":["service_admin"],"groupings":null,"version":null,"ownerId":null,"empty":false,"type":null}],"version":null,"ownerId":null,"empty":false,"type":null},
+
+        {"name":"Application L4+","normalizedName":"application l4+","uniqueId":"resourceNewCategory.application l4+","icons":null,"subcategories":[{"name":"Media Servers","normalizedName":"media servers","uniqueId":"resourceNewCategory.application l4+.media servers","icons":["applicationServer"],"groupings":null,"version":null,"ownerId":null,"empty":false,"type":null},{"name":"Load Balancer","normalizedName":"load balancer","uniqueId":"resourceNewCategory.application l4+.load balancer","icons":["loadBalancer"],"groupings":null,"version":null,"ownerId":null,"empty":false,"type":null},{"name":"Application Server","normalizedName":"application server","uniqueId":"resourceNewCategory.application l4+.application server","icons":["applicationServer"],"groupings":null,"version":null,"ownerId":null,"empty":false,"type":null},{"name":"Web Server","normalizedName":"web server","uniqueId":"resourceNewCategory.application l4+.web server","icons":["applicationServer"],"groupings":null,"version":null,"ownerId":null,"empty":false,"type":null},{"name":"Call Control","normalizedName":"call control","uniqueId":"resourceNewCategory.application l4+.call control","icons":["call_controll"],"groupings":null,"version":null,"ownerId":null,"empty":false,"type":null},{"name":"Border Element","normalizedName":"border element","uniqueId":"resourceNewCategory.application l4+.border element","icons":["borderElement"],"groupings":null,"version":null,"ownerId":null,"empty":false,"type":null},{"name":"Database","normalizedName":"database","uniqueId":"resourceNewCategory.application l4+.database","icons":["database"],"groupings":null,"version":null,"ownerId":null,"empty":false,"type":null},{"name":"Firewall","normalizedName":"firewall","uniqueId":"resourceNewCategory.application l4+.firewall","icons":["firewall"],"groupings":null,"version":null,"ownerId":null,"empty":false,"type":null}],"version":null,"ownerId":null,"empty":false,"type":null},
+
+        {"name":"Configuration","normalizedName":"configuration","uniqueId":"resourceNewCategory.configuration","icons":null,"subcategories":[{"name":"Configuration","normalizedName":"configuration","uniqueId":"resourceNewCategory.configuration.configuration","icons":["pmc"],"groupings":null,"version":null,"ownerId":null,"empty":false,"type":null}],"version":null,"ownerId":null,"empty":false,"type":null},
+
+        {"name":"DCAE Component","normalizedName":"dcae component","uniqueId":"resourceNewCategory.dcae component","icons":null,"subcategories":[{"name":"Microservice","normalizedName":"microservice","uniqueId":"resourceNewCategory.dcae component.microservice","icons":["dcae_microservice"],"groupings":null,"version":null,"ownerId":null,"empty":false,"type":null},{"name":"Policy","normalizedName":"policy","uniqueId":"resourceNewCategory.dcae component.policy","icons":["dcae_policy"],"groupings":null,"version":null,"ownerId":null,"empty":false,"type":null},{"name":"Collector","normalizedName":"collector","uniqueId":"resourceNewCategory.dcae component.collector","icons":["dcae_collector"],"groupings":null,"version":null,"ownerId":null,"empty":false,"type":null},{"name":"Analytics","normalizedName":"analytics","uniqueId":"resourceNewCategory.dcae component.analytics","icons":["dcae_analytics"],"groupings":null,"version":null,"ownerId":null,"empty":false,"type":null},{"name":"Utility","normalizedName":"utility","uniqueId":"resourceNewCategory.dcae component.utility","icons":["dcae_utilty"],"groupings":null,"version":null,"ownerId":null,"empty":false,"type":null},{"name":"Database","normalizedName":"database","uniqueId":"resourceNewCategory.dcae component.database","icons":["dcae_database"],"groupings":null,"version":null,"ownerId":null,"empty":false,"type":null},{"name":"Source","normalizedName":"source","uniqueId":"resourceNewCategory.dcae component.source","icons":["dcae_source"],"groupings":null,"version":null,"ownerId":null,"empty":false,"type":null},{"name":"Machine Learning","normalizedName":"machine learning","uniqueId":"resourceNewCategory.dcae component.machine learning","icons":["dcae_machineLearning"],"groupings":null,"version":null,"ownerId":null,"empty":false,"type":null}],"version":null,"ownerId":null,"empty":false,"type":null},
+
+        {"name":"E2E Service","normalizedName":"e2e service","uniqueId":"serviceNewCategory.e2e service","icons":["network_l_1-3"],"subcategories":null,"version":null,"ownerId":null,"empty":false,"type":null},
+
+        {"name":"Generic","normalizedName":"generic","uniqueId":"resourceNewCategory.generic","icons":null,"subcategories":[{"name":"Infrastructure","normalizedName":"infrastructure","uniqueId":"resourceNewCategory.generic.infrastructure","icons":["connector"],"groupings":null,"version":null,"ownerId":null,"empty":false,"type":null},{"name":"Network Elements","normalizedName":"network elements","uniqueId":"resourceNewCategory.generic.network elements","icons":["network","connector"],"groupings":null,"version":null,"ownerId":null,"empty":false,"type":null},{"name":"Database","normalizedName":"database","uniqueId":"resourceNewCategory.generic.database","icons":["database"],"groupings":null,"version":null,"ownerId":null,"empty":false,"type":null},{"name":"Rules","normalizedName":"rules","uniqueId":"resourceNewCategory.generic.rules","icons":["networkrules","securityrules"],"groupings":null,"version":null,"ownerId":null,"empty":false,"type":null},{"name":"Abstract","normalizedName":"abstract","uniqueId":"resourceNewCategory.generic.abstract","icons":["objectStorage","compute"],"groupings":null,"version":null,"ownerId":null,"empty":false,"type":null}, {"name":"Network Service","normalizedName":"network service","uniqueId":"resourceNewCategory.generic.network service","icons":["network"],"groupings":null,"version":null,"ownerId":null,"empty":false,"type":null}],"version":null,"ownerId":null,"empty":false,"type":null},
+
+        {"name":"Mobility","normalizedName":"mobility","uniqueId":"serviceNewCategory.mobility","icons":["mobility"],"subcategories":null,"version":null,"ownerId":null,"empty":false,"type":null},
+
+        {"name":"Network Connectivity","normalizedName":"network connectivity","uniqueId":"resourceNewCategory.network connectivity","icons":null,"subcategories":[{"name":"Virtual Links","normalizedName":"virtual links","uniqueId":"resourceNewCategory.network connectivity.virtual links","icons":["vl"],"groupings":null,"version":null,"ownerId":null,"empty":false,"type":null},{"name":"Connection Points","normalizedName":"connection points","uniqueId":"resourceNewCategory.network connectivity.connection points","icons":["cp"],"groupings":null,"version":null,"ownerId":null,"empty":false,"type":null}],"version":null,"ownerId":null,"empty":false,"type":null},
+
+        {"name":"Network L1-3","normalizedName":"network l1-3","uniqueId":"serviceNewCategory.network l1-3","icons":["network_l_1-3"],"subcategories":null,"version":null,"ownerId":null,"empty":false,"type":null},
+
+        {"name":"Network L2-3","normalizedName":"network l2-3","uniqueId":"resourceNewCategory.network l2-3","icons":null,"subcategories":[{"name":"WAN Connectors","normalizedName":"wan connectors","uniqueId":"resourceNewCategory.network l2-3.wan connectors","icons":["network","connector","port"],"groupings":null,"version":null,"ownerId":null,"empty":false,"type":null},{"name":"LAN Connectors","normalizedName":"lan connectors","uniqueId":"resourceNewCategory.network l2-3.lan connectors","icons":["network","connector","port"],"groupings":null,"version":null,"ownerId":null,"empty":false,"type":null},{"name":"Router","normalizedName":"router","uniqueId":"resourceNewCategory.network l2-3.router","icons":["router","vRouter"],"groupings":null,"version":null,"ownerId":null,"empty":false,"type":null},{"name":"Gateway","normalizedName":"gateway","uniqueId":"resourceNewCategory.network l2-3.gateway","icons":["gateway"],"groupings":null,"version":null,"ownerId":null,"empty":false,"type":null},{"name":"Infrastructure","normalizedName":"infrastructure","uniqueId":"resourceNewCategory.network l2-3.infrastructure","icons":["ucpe"],"groupings":null,"version":null,"ownerId":null,"empty":false,"type":null}],"version":null,"ownerId":null,"empty":false,"type":null},
+
+        {"name":"Network L4+","normalizedName":"network l4+","uniqueId":"serviceNewCategory.network l4+","icons":["network_l_4"],"subcategories":null,"version":null,"ownerId":null,"empty":false,"type":null},
+
+        {"name":"Network L4+","normalizedName":"network l4+","uniqueId":"resourceNewCategory.network l4+","icons":null,"subcategories":[{"name":"Common Network Resources","normalizedName":"common network resources","uniqueId":"resourceNewCategory.network l4+.common network resources","icons":["network"],"groupings":null,"version":null,"ownerId":null,"empty":false,"type":null}],"version":null,"ownerId":null,"empty":false,"type":null},
+
+        {"name":"Network Service","normalizedName":"network service","uniqueId":"serviceNewCategory.network service","icons":["network_l_1-3"],"subcategories":null,"version":null,"ownerId":null,"empty":false,"type":null},
+
+        {"name":"Template","normalizedName":"template","uniqueId":"resourceNewCategory.template","icons":null,"subcategories":[{"name":"Monitoring Template","normalizedName":"monitoring template","uniqueId":"resourceNewCategory.template.monitoring template","icons":["monitoring_template"],"groupings":null,"version":null,"ownerId":null,"empty":false,"type":null},{"name":"Base Monitoring Template","normalizedName":"base monitoring template","uniqueId":"resourceNewCategory.template.base monitoring template","icons":["monitoring_template"],"groupings":null,"version":null,"ownerId":null,"empty":false,"type":null}],"version":null,"ownerId":null,"empty":false,"type":null},
+
+        {"name":"VoIP Call Control","normalizedName":"voip call control","uniqueId":"serviceNewCategory.voip call control","icons":["call_controll"],"subcategories":null,"version":null,"ownerId":null,"empty":false,"type":null},
+    ]
+
+
+
+
diff --git a/catalog-ui/src/jest/mocks/component-instance.mock.ts b/catalog-ui/src/jest/mocks/component-instance.mock.ts
new file mode 100644
index 0000000..0fb0206
--- /dev/null
+++ b/catalog-ui/src/jest/mocks/component-instance.mock.ts
@@ -0,0 +1,148 @@
+export const componentInstancesMock = [
+    {
+        "uniqueId": "74f76b7d-1813-4436-97af-dc5bf6b63586.2a6cf1ea-6561-41f2-ae73-e1bdd0d1427d.datafabric_int_net_id_rvn",
+        "normalizedName": "datafabric_int_net_id_rvn",
+        "name": "dataFabric_int_net_id_RVN",
+        "creationTime": 1549890959623,
+        "icon": "vl",
+        "originType": "VL",
+        "propertyValueCounter": 1,
+        "originArchived": false,
+        "description": null,
+        "modificationTime": 1549890959976,
+        "customizationUUID": "ac0abf57-5d9d-472c-bd10-a65e348dd418",
+        "invariantName": "datafabric_int_net_id_rvn",
+        "componentName": "ContrailV2VirtualNetwork",
+        "sourceModelName": null,
+        "componentUid": "2a6cf1ea-6561-41f2-ae73-e1bdd0d1427d",
+        "componentVersion": "2.0",
+        "sourceModelUid": null,
+        "sourceModelInvariant": null,
+        "sourceModelUuid": null,
+        "posX": 690.0,
+        "posY": 340.0
+    },
+    {
+        "uniqueId": "74f76b7d-1813-4436-97af-dc5bf6b63586.2a6cf1ea-6561-41f2-ae73-e1bdd0d1427d.controlfabric_int_net_id_rvn",
+        "normalizedName": "controlfabric_int_net_id_rvn",
+        "name": "controlFabric_int_net_id_RVN",
+        "creationTime": 1549890959609,
+        "icon": "vl",
+        "originType": "VL",
+        "propertyValueCounter": 1,
+        "originArchived": false,
+        "description": null,
+        "modificationTime": 1549890959976,
+        "customizationUUID": "6a95ce69-4eed-4c1b-a097-c96ffdc9cc8d",
+        "invariantName": "controlfabric_int_net_id_rvn",
+        "componentName": "ContrailV2VirtualNetwork",
+        "sourceModelName": null,
+        "componentUid": "2a6cf1ea-6561-41f2-ae73-e1bdd0d1427d",
+        "componentVersion": "2.0",
+        "sourceModelUid": null,
+        "sourceModelInvariant": null,
+        "sourceModelUuid": null,
+        "posX": 690.0,
+        "posY": 540.0
+    },
+    {
+        "uniqueId": "74f76b7d-1813-4436-97af-dc5bf6b63586.7c11da42-a7dc-47f2-8ac4-992f2d3cdc56.oam_1",
+        "normalizedName": "oam_1",
+        "name": "oam_1",
+        "creationTime": 1549890959622,
+        "icon": "defaulticon",
+        "originType": "CVFC",
+        "propertyValueCounter": 1,
+        "originArchived": false,
+        "description": null,
+        "modificationTime": 1549890959976,
+        "customizationUUID": "734e6f22-6a70-4738-9d31-6b6f24352259",
+        "invariantName": "oam_1",
+        "componentName": "orit_vmme-nodes.heat.oamCvfc",
+        "sourceModelName": null,
+        "componentUid": "7c11da42-a7dc-47f2-8ac4-992f2d3cdc56",
+        "componentVersion": "2.0",
+        "posX": 675.0,
+        "posY": 125.0
+    },
+    {
+        "uniqueId": "74f76b7d-1813-4436-97af-dc5bf6b63586.8a1d8169-d91f-4cb8-9af1-5c353dca2acf.mg_3",
+        "normalizedName": "mg_3",
+        "name": "mg_3",
+        "creationTime": 1549890959622,
+        "icon": "defaulticon",
+        "originType": "CVFC",
+        "propertyValueCounter": 1,
+        "originArchived": false,
+        "description": null,
+        "modificationTime": 1549890959976,
+        "customizationUUID": "880260f9-b422-4618-bb30-2f2f275e18f1",
+        "invariantName": "mg_3",
+        "componentName": "orit_vmme-nodes.heat.mgCvfc",
+        "sourceModelName": null,
+        "componentUid": "8a1d8169-d91f-4cb8-9af1-5c353dca2acf",
+        "componentVersion": "2.0",
+        "posX": 475.0,
+        "posY": 125.0
+    }, {
+
+        "uniqueId": "74f76b7d-1813-4436-97af-dc5bf6b63586.7937f019-b009-42bd-a523-bc751e590fed.lb_1",
+        "normalizedName": "lb_1",
+        "name": "lb_1",
+        "creationTime": 1549890959608,
+        "icon": "defaulticon",
+        "originType": "CVFC",
+        "propertyValueCounter": 1,
+        "originArchived": false,
+        "description": null,
+        "modificationTime": 1549890959976,
+        "customizationUUID": "fceb3e8c-9100-4e1c-ba45-b9fe2dc18a2f",
+        "invariantName": "lb_1",
+        "componentName": "orit_vmme-nodes.heat.lbCvfc",
+        "sourceModelName": null,
+        "componentUid": "7937f019-b009-42bd-a523-bc751e590fed",
+        "componentVersion": "2.0",
+        "posX": 75.0,
+        "posY": 525.0
+    },
+    {
+        "uniqueId": "74f76b7d-1813-4436-97af-dc5bf6b63586.8a1d8169-d91f-4cb8-9af1-5c353dca2acf.mg_4",
+        "normalizedName": "mg_4",
+        "name": "mg_4",
+        "creationTime": 1549890959609,
+        "icon": "defaulticon",
+        "originType": "CVFC",
+        "propertyValueCounter": 1,
+        "originArchived": false,
+        "description": null,
+        "modificationTime": 1549890959976,
+        "customizationUUID": "475ab857-1fb4-476e-990b-1676bdd0b8be",
+        "invariantName": "mg_4",
+        "componentName": "orit_vmme-nodes.heat.mgCvfc",
+        "sourceModelName": null,
+        "componentUid": "8a1d8169-d91f-4cb8-9af1-5c353dca2acf",
+        "componentVersion": "2.0",
+        "posX": 275.0,
+        "posY": 725.0
+    },
+    {
+        "uniqueId": "74f76b7d-1813-4436-97af-dc5bf6b63586.8a1d8169-d91f-4cb8-9af1-5c353dca2acf.mg_422",
+        "normalizedName": "mg_4",
+        "name": "mg_4",
+        "creationTime": 1549890959609,
+        "icon": "defaulticon",
+        "originType": "CVFC",
+        "propertyValueCounter": 1,
+        "originArchived": false,
+        "description": null,
+        "modificationTime": 1549890959976,
+        "customizationUUID": "475ab857-1fb4-476e-990b-1676bdd0b8be",
+        "invariantName": "mg_4",
+        "componentName": "orit_vmme-nodes.heat.mgCvfc",
+        "sourceModelName": null,
+        "componentUid": "8a1d8169-d91f-4cb8-9af1-5c353dca2acf",
+        "componentVersion": "2.0",
+        "posX": 275.0,
+        "posY": 725.0
+    }
+]
\ No newline at end of file
diff --git a/catalog-ui/src/jest/mocks/groups.mock.ts b/catalog-ui/src/jest/mocks/groups.mock.ts
new file mode 100644
index 0000000..4b7f46f
--- /dev/null
+++ b/catalog-ui/src/jest/mocks/groups.mock.ts
@@ -0,0 +1,44 @@
+export const groupsMock = [
+    {
+        "uniqueId": "74f76b7d-1813-4436-97af-dc5bf6b63586.OritVmme..base_vepdg..module-0",
+        "name": "OritVmme..base_vepdg..module-0",
+        "type": "org.openecomp.groups.VfModule",
+        "members": {
+            "oam_1": "74f76b7d-1813-4436-97af-dc5bf6b63586.7c11da42-a7dc-47f2-8ac4-992f2d3cdc56.oam_1",
+            "lb_1": "74f76b7d-1813-4436-97af-dc5bf6b63586.7937f019-b009-42bd-a523-bc751e590fed.lb_1",
+            "dataFabric_int_net_id_RVN": "74f76b7d-1813-4436-97af-dc5bf6b63586.2a6cf1ea-6561-41f2-ae73-e1bdd0d1427d.datafabric_int_net_id_rvn",
+            "mg_4": "74f76b7d-1813-4436-97af-dc5bf6b63586.8a1d8169-d91f-4cb8-9af1-5c353dca2acf.mg_4",
+            "controlFabric_int_net_id_RVN": "74f76b7d-1813-4436-97af-dc5bf6b63586.2a6cf1ea-6561-41f2-ae73-e1bdd0d1427d.controlfabric_int_net_id_rvn",
+            "mg_3": "74f76b7d-1813-4436-97af-dc5bf6b63586.8a1d8169-d91f-4cb8-9af1-5c353dca2acf.mg_3"
+        }
+    },
+    {
+        "uniqueId": "74f76b7d-1813-4436-97af-dc5bf6b63586.base_vepdg_volume_group",
+        "name": "base_vepdg_volume_group",
+        "type": "org.openecomp.groups.heat.HeatStack",
+        "members": {
+
+        }
+    },
+    {
+        "uniqueId": "74f76b7d-1813-4436-97af-dc5bf6b63586.vepdg_server_group_group",
+        "name": "vepdg_server_group_group",
+        "type": "tosca.groups.Root",
+        "members": {
+
+        }
+    },
+    {
+        "uniqueId": "74f76b7d-1813-4436-97af-dc5bf6b63586.base_vepdg_group",
+        "name": "base_vepdg_group",
+        "type": "org.openecomp.groups.heat.HeatStack",
+        "members": {
+            "oam_1": "74f76b7d-1813-4436-97af-dc5bf6b63586.7c11da42-a7dc-47f2-8ac4-992f2d3cdc56.oam_1",
+            "lb_1": "74f76b7d-1813-4436-97af-dc5bf6b63586.7937f019-b009-42bd-a523-bc751e590fed.lb_1",
+            "dataFabric_int_net_id_RVN": "74f76b7d-1813-4436-97af-dc5bf6b63586.2a6cf1ea-6561-41f2-ae73-e1bdd0d1427d.datafabric_int_net_id_rvn",
+            "mg_4": "74f76b7d-1813-4436-97af-dc5bf6b63586.8a1d8169-d91f-4cb8-9af1-5c353dca2acf.mg_4",
+            "controlFabric_int_net_id_RVN": "74f76b7d-1813-4436-97af-dc5bf6b63586.2a6cf1ea-6561-41f2-ae73-e1bdd0d1427d.controlfabric_int_net_id_rvn",
+            "mg_3": "74f76b7d-1813-4436-97af-dc5bf6b63586.8a1d8169-d91f-4cb8-9af1-5c353dca2acf.mg_3"
+        }
+    }
+]
\ No newline at end of file
diff --git a/catalog-ui/src/jest/mocks/left-paeltte-elements.mock.ts b/catalog-ui/src/jest/mocks/left-paeltte-elements.mock.ts
new file mode 100644
index 0000000..c8b091e
--- /dev/null
+++ b/catalog-ui/src/jest/mocks/left-paeltte-elements.mock.ts
@@ -0,0 +1,149 @@
+export const leftPaletteElements =
+    {
+        Generic: {
+            Network : [
+                {
+                    allVersions: {
+                        1.0: "1a55456f-3842-494c-873c-1a49e8e1c8a8",
+                        2.0: "145ac05a-2ae9-4bde-a719-30278ab6e011",
+                        3.0: "6c4c3614-101a-4d6a-b79b-9f76241b4ee1",
+                        3.1: "f667dcb2-7388-477a-8838-847a948ce2b7"
+                    },
+                    categoryType: "COMPONENT",
+                    certifiedIconClass: "",
+                    componentSubType: "CP",
+                    componentType: "RESOURCE",
+                    displayName: "extVirtualMachineInterfaceCP",
+                    iconName: "network",
+                    invariantUUID: "e1d111f6-ee55-48fa-8b09-3535eb10185d",
+                    isDraggable: true,
+                    mainCategory: "Generic",
+                    name: "extVirtualMachineInterfaceCP",
+                    searchFilterTerms: "extvirtualmachineinterfacecp external port for virtual machine interface extvirtualmachineinterfacecp 3.0",
+                    subCategory: "Network Elements",
+                    systemName: "Extvirtualmachineinterfacecp",
+                    uniqueId: "6c4c3614-101a-4d6a-b79b-9f76241b4ee1",
+                    uuid: "9df6a0b9-9b13-4b70-9e2a-c5f4b93b56cf",
+                    version: "3.0"
+                },
+                {
+                    allVersions: undefined,
+                    categoryType: "COMPONENT",
+                    certifiedIconClass: "non-certified",
+                    componentSubType: "ServiceProxy",
+                    componentType: "SERVICE",
+                    displayName: "NewService2",
+                    iconName: "defaulticon",
+                    invariantUUID: "be13db98-2579-4780-9e40-04a5f7937723",
+                    isDraggable: true,
+                    mainCategory: "Generic",
+                    name: "NewService2",
+                    searchFilterTerms: "newservice2 asdfasdfa newservice2 0.3",
+                    subCategory: "Generic",
+                    systemName: "Newservice2",
+                    uniqueId: "262198c2-04ea-4674-9cfe-c601b12f7961",
+                    uuid: "2cf8baed-7ff9-4faf-9f41-b9f48e3ee435",
+                    version: "0.3"
+                },
+                {
+                    allVersions: {
+                        1.0: "025840e6-7e8b-4be0-940a-aca3f64ac218",
+                        2.0: "84a05a83-8c8c-48bd-81c7-165fd8a4b631",
+                        3.0: "d4d5215c-e658-43db-95c6-1bfbafdae259",
+                        4.0: "5db22a16-029a-4bf7-a9ef-7ceda81f6edb",
+                        5.0: "86e6a636-a7b4-4392-8501-2857e6ba1d8b",
+                        6.0: "9a55a9c9-9e30-4077-8e92-6dcf69b250de",
+                        7.0: "eb515043-a771-4f84-92ea-ef15586f99be",
+                        8.0: "3d83195f-e92b-4f43-a821-f7043b107615",
+                        9.0: "a31ab521-b500-41f5-a20b-6d51f1cdff34"
+                    },
+                    categoryType: "COMPONENT",
+                    certifiedIconClass: "",
+                    componentSubType: "Configuration",
+                    componentType: "RESOURCE",
+                    displayName: "VRF Entry Configuration",
+                    iconName: "pmc",
+                    invariantUUID: "0845cd3a-cdbc-46fc-aee3-b227fbeeb9ec",
+                    isDraggable: true,
+                    mainCategory: "Configuration",
+                    name: "VRF Entry Configuration",
+                    searchFilterTerms: "vrf entry configuration vrf entry configuration object vrf entry configuration 9.0",
+                    subCategory: "Configuration",
+                    systemName: "VrfEntryConfiguration",
+                    uniqueId: "a31ab521-b500-41f5-a20b-6d51f1cdff34",
+                    uuid: "4cd57279-54d5-4971-b744-96925649dac4",
+                    version: "9.0"
+                },
+                {
+                    allVersions: {
+                        1.0: "9c829122-af05-4bc9-b537-5d84f4c8ae25",
+                        1.1: "930d56cb-868d-4e35-bd0f-e737d2fdb171"
+                    },
+                    categoryType: "COMPONENT",
+                    certifiedIconClass: "",
+                    componentSubType: "VF",
+                    componentType: "RESOURCE",
+                    displayName: "sssssss",
+                    iconName: "defaulticon",
+                    invariantUUID: "34715c1c-fc70-46b2-99f0-b46a9fe4689d",
+                    isDraggable: true,
+                    mainCategory: "DCAE Component",
+                    name: "sssssss",
+                    searchFilterTerms: "sssssss sadfdsa sssssss 1.0",
+                    subCategory: "Collector",
+                    systemName: "Sssssss",
+                    uniqueId: "9c829122-af05-4bc9-b537-5d84f4c8ae25",
+                    uuid: "a8cf015e-e4e5-4d4b-a01e-8624e8d36095",
+                    version: "1.0"
+                },
+                {
+                    allVersions: {
+                        1.0: "9c829122-af05-4bc9-b537-5d84f4c8ae25",
+                        1.1: "930d56cb-868d-4e35-bd0f-e737d2fdb171"
+                    },
+                    categoryType: "GROUP",
+                    certifiedIconClass: "",
+                    componentSubType: "VF",
+                    componentType: "RESOURCE",
+                    displayName: "sssssss",
+                    iconName: "defaulticon",
+                    invariantUUID: "34715c1c-fc70-46b2-99f0-b46a9fe4689d",
+                    isDraggable: true,
+                    mainCategory: "DCAE Component",
+                    name: "sssssss",
+                    searchFilterTerms: "testVal and other values",
+                    subCategory: "Collector",
+                    systemName: "Sssssss",
+                    uniqueId: "9c829122-af05-4bc9-b537-5d84f4c8ae25",
+                    uuid: "a8cf015e-e4e5-4d4b-a01e-8624e8d36095",
+                    version: "1.0"
+                }
+            ],
+            Configuration: [
+                {
+                    allVersions: {
+                        1.0: "1a55456f-3842-494c-873c-1a49e8e1c8a8",
+                        2.0: "145ac05a-2ae9-4bde-a719-30278ab6e011",
+                        3.0: "6c4c3614-101a-4d6a-b79b-9f76241b4ee1",
+                        3.1: "f667dcb2-7388-477a-8838-847a948ce2b7"
+                    },
+                    categoryType: "COMPONENT",
+                    certifiedIconClass: "",
+                    componentSubType: "CP",
+                    componentType: "RESOURCE",
+                    displayName: "extVirtualMachineInterfaceCP",
+                    iconName: "network",
+                    invariantUUID: "e1d111f6-ee55-48fa-8b09-3535eb10185d",
+                    isDraggable: true,
+                    mainCategory: "Configuration",
+                    name: "extVirtualMachineInterfaceCP",
+                    searchFilterTerms: "extvirtualmachineinterfacecp external port for virtual machine interface extvirtualmachineinterfacecp 3.0",
+                    subCategory: "Network Elements",
+                    systemName: "Extvirtualmachineinterfacecp",
+                    uniqueId: "6c4c3614-101a-4d6a-b79b-9f76241b4ee1",
+                    uuid: "9df6a0b9-9b13-4b70-9e2a-c5f4b93b56cf",
+                    version: "3.0"
+                },
+            ]
+        }
+    };
diff --git a/catalog-ui/src/jest/mocks/onboarding-vsp.mock.ts b/catalog-ui/src/jest/mocks/onboarding-vsp.mock.ts
new file mode 100644
index 0000000..ff8a557
--- /dev/null
+++ b/catalog-ui/src/jest/mocks/onboarding-vsp.mock.ts
@@ -0,0 +1,20 @@
+export const onboardingModalUniqueVSPMock = [
+    {"name": "test new vsp", "vendorName": "test vlm", "categories": [{"name": "Network Connectivity", "subcategories":
+                [{"name": "Virtual Links"}]}], "csarVersion": "1.0", "csarUUID": "6348841e79a64871ba064ce340a968a4", "packageId": "6348841e79a64871ba064ce340a968a4", "description": "test new vsp description"},
+    {"name": "new vsp2", "vendorName": "TestVSP", "categories": [{"name": "Network L2-3", "subcategories": [{"name": "WAN Connectors"}]}],
+        "csarVersion": "2.0", "csarUUID": "6348841e79a64871ba064ce340a968b5", "packageId": "abeb7b0c5fe04603b3236308f5eb8add", "description": "new vsp2 description"}
+];
+
+export const onboardingModalVSPMock = [
+    {"name": "test new vsp", "vendorName": "test vlm", "categories": [{"name": "Network Connectivity", "subcategories":
+           [{"name": "Virtual Links"}]}], "csarVersion": "1.0", "csarUUID": "6348841e79a64871ba064ce340a968a4", "packageId": "6348841e79a64871ba064ce340a968a4", "description": "test new vsp description"},
+    {"name": "new vsp2", "vendorName": "TestVSP", "categories": [{"name": "Network L2-3", "subcategories": [{"name": "WAN Connectors"}]}],
+           "csarVersion": "2.0", "csarUUID": "6348841e79a64871ba064ce340a968b5", "packageId": "abeb7b0c5fe04603b3236308f5eb8add", "description": "new vsp2 description"},
+    {"name": "new vsp3", "vendorName": "TestVSP3", "categories": [{"name": "Network L2-3", "subcategories": [{"name": "WAN Connectors"}]}],
+        "csarVersion": "3.0", "csarUUID": "6348841e79a64871ba064ce340a968b6", "packageId": "abeb7b0c5fe04603b3236308f5eb8add", "description": "new vsp2 description"}
+];
+
+export const vspFromServerMock = {"name": "test new vsp22", "vendorName": "test vlm", "categories": [{"name": "Network Connectivity", "subcategories":
+     [{"name": "Virtual Links"}]}], "csarVersion": "1.0", "csarUUID": "6348841e79a64871ba064ce340a968a4", "packageId": "6348841e79a64871ba064ce340a968a4",
+     "description": "test new vsp description", "normalizedName": "testnewvsp22", "lifecycleState": "NOT_CERTIFIED_CHECKIN",
+     "creatorFullName": "Carlos Santana", "uuid": "ee1bc1e9-78f5-46b4-be14-273c3a8e9cfa", "version": "0.2", "lastUpdaterFullName": "Carlos Santana"};
diff --git a/catalog-ui/src/jest/mocks/req-and-capabilities.mock.ts b/catalog-ui/src/jest/mocks/req-and-capabilities.mock.ts
new file mode 100644
index 0000000..467f00d
--- /dev/null
+++ b/catalog-ui/src/jest/mocks/req-and-capabilities.mock.ts
@@ -0,0 +1,30 @@
+import {Requirement} from "../../app/models/requirement";
+
+export const requirementMock = [
+    {"name": "dependency", "capability": "tosca.capabilities.Node", "node": "tosca.nodes.Root", "relationship": "tosca.relationships.DependsOn", "minOccurrences": "0", "maxOccurrences": "UNBOUNDED"},
+    {"name": "binding", "capability": "tosca.capabilities.network.Bindable", "node": null, "relationship": "tosca.relationships.network.BindsTo", "minOccurrences": "1", "maxOccurrences": "UNBOUNDED"},
+    {"name": "link", "capability": "tosca.capabilities.network.Linkable", "node": null, "relationship": "tosca.relationships.network.LinksTo", "minOccurrences": "1", "maxOccurrences": "UNBOUNDED"}
+];
+
+export const capabilitiesMock = [
+    {"name": "attachment", "type": "tosca.capabilities.Attachment", "validSourceTypes": ["firstSource", "secondSource"], "minOccurrences": "0", "maxOccurrences": "UNBOUNDED"},
+    {"name": "binding", "type": "tosca.capabilities.Node", "validSourceTypes": ["1source"], "minOccurrences": "1", "maxOccurrences": "UNBOUNDED"}
+];
+
+const requirement1: Requirement = new Requirement();
+requirement1.name = "dependency";
+requirement1.capability = "tosca.capabilities.Node";
+requirement1.node = "tosca.nodes.Root";
+requirement1.relationship = "tosca.relationships.DependsOn";
+requirement1.minOccurrences = "0";
+requirement1.maxOccurrences = "UNBOUNDED";
+const requirement2: Requirement = new Requirement();
+requirement2.name = "binding";
+requirement2.capability = "tosca.capabilities.network.Bindable";
+requirement2.node = null;
+requirement2.relationship = "tosca.relationships.network.BindsTo";
+requirement2.minOccurrences = "1";
+requirement2.maxOccurrences = "UNBOUNDED";
+export const filterRequirmentsMock: Array<Requirement> = [requirement1, requirement2];
+
+
diff --git a/catalog-ui/src/jest/mocks/sdc-menu.mock.ts b/catalog-ui/src/jest/mocks/sdc-menu.mock.ts
new file mode 100644
index 0000000..57e76b6
--- /dev/null
+++ b/catalog-ui/src/jest/mocks/sdc-menu.mock.ts
@@ -0,0 +1,7 @@
+export const sdcMenu = {
+    statuses: {
+        certified: {name: 'Certified', values: ['CERTIFIED']},
+        distributed: {name: 'Distributed', values: ['DISTRIBUTED']},
+        inDesign: {name: 'In Design', values: ['NOT_CERTIFIED_CHECKOUT', 'NOT_CERTIFIED_CHECKIN']}
+    }
+};
diff --git a/catalog-ui/src/jest/mocks/service-metadata.mock.ts b/catalog-ui/src/jest/mocks/service-metadata.mock.ts
new file mode 100644
index 0000000..b3d6f95
--- /dev/null
+++ b/catalog-ui/src/jest/mocks/service-metadata.mock.ts
@@ -0,0 +1,40 @@
+export const serviceMetadata = {
+    "uniqueId": "3e39c1d2-8afb-4249-9950-110ec6e6f595",
+    "name": "fsdsfdsfd",
+    "version": "0.1",
+    "isHighestVersion": true,
+    "creationDate": 1538643760028,
+    "lastUpdateDate": 1538921966136,
+    "description": "vavs",
+    "lifecycleState": "NOT_CERTIFIED_CHECKIN",
+    "tags": [
+        "fsdsfdsfd"
+    ],
+    "icon": "network_l_4",
+    "normalizedName": "fsdsfdsfd",
+    "systemName": "Fsdsfdsfd",
+    "contactId": "cs0008",
+    "allVersions": {
+        "0.1": "3e39c1d2-8afb-4249-9950-110ec6e6f595"
+    },
+    "isDeleted": null,
+    "serviceFunction": "vassavsva",
+    "csarUUID": null,
+    "csarVersion": null,
+    "importedToscaChecksum": null,
+    "invariantUUID": "ad9f3ebc-fc59-4c24-bd3d-2eecd55a854d",
+    "componentType": "SERVICE",
+    "categories": [
+        {
+            "name": "Network L4+",
+            "normalizedName": "network l4+",
+            "uniqueId": "serviceNewCategory.network l4+",
+            "icons": null,
+            "subcategories": null,
+            "version": null,
+            "ownerId": null,
+            "empty": false,
+            "type": null
+        }
+    ]
+}
\ No newline at end of file
diff --git a/catalog-ui/src/jest/setup-jest.ts b/catalog-ui/src/jest/setup-jest.ts
new file mode 100644
index 0000000..60d9803
--- /dev/null
+++ b/catalog-ui/src/jest/setup-jest.ts
@@ -0,0 +1,3 @@
+import '../../node_modules/jest-preset-angular';
+import './jest-global-mocks';
+import 'jest-dom/extend-expect';
\ No newline at end of file
diff --git a/catalog-ui/src/jest/test-config.helper.ts b/catalog-ui/src/jest/test-config.helper.ts
new file mode 100644
index 0000000..9ca9179
--- /dev/null
+++ b/catalog-ui/src/jest/test-config.helper.ts
@@ -0,0 +1,21 @@
+import { TestBed } from '@angular/core/testing'
+
+type CompilerOptions = Partial<{
+  providers: any[]
+  useJit: boolean
+  preserveWhitespaces: boolean
+}>
+export type ConfigureFn = (testBed: typeof TestBed) => void
+
+export const configureTests = (configure: ConfigureFn, compilerOptions: CompilerOptions = {}) => {
+  const compilerConfig: CompilerOptions = {
+    preserveWhitespaces: false,
+    ...compilerOptions,
+  };
+
+  const configuredTestBed = TestBed.configureCompiler(compilerConfig);
+
+  configure(configuredTestBed);
+
+  return configuredTestBed.compileComponents().then(() => configuredTestBed)
+};
\ No newline at end of file