Fix empty file list after import service CSAR in VSP 37/117037/4
authorTomasz Pietruszkiewicz <tomasz.pietruszkiewicz@nokia.com>
Thu, 21 Jan 2021 09:56:15 +0000 (10:56 +0100)
committerVasyl Razinkov <vasyl.razinkov@est.tech>
Thu, 21 Jan 2021 15:20:28 +0000 (15:20 +0000)
Change-Id: Id8e7cb7b71d4cd8d852946b6ff365054e551c005
Issue-ID: SDC-3438
Signed-off-by: Tomasz Pietruszkiewicz <tomasz.pietruszkiewicz@nokia.com>
openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/validation/HeatValidationReducer.js
openecomp-ui/test/softwareProduct/attachments/validation/HeatValidationActionHelper.test.js

index f029538..a34dfe7 100644 (file)
@@ -139,9 +139,10 @@ const mapValidationDataToTree = (validationData, packageName) => {
                 type: 'heat',
                 header: true,
                 errors: errors,
-                children: heat
-                    ? heat.map(mapHeatData)
-                    : nested ? nested.map(mapHeatData) : []
+                children:
+                    heat && heat.length
+                        ? heat.map(mapHeatData)
+                        : nested ? nested.map(mapHeatData) : []
             },
             ...(artifacts
                 ? [
index d8a5d1f..73eb256 100644 (file)
@@ -82,6 +82,59 @@ describe('HeatValidationActionHelper ActionHelper', () => {
                expect(store.getState().softwareProduct.softwareProductAttachments.heatValidation.attachmentsTree.children[0].expanded).toBe(false);
        });
 
+       it('should get values from nested object if heat object is empty', () => {
+               const validationData = {
+                       importStructure: {
+                               heat: [],
+                               nested: [
+                                       {
+                                               fileName: 'hot-mog-0108-bs1271.yml',
+                                               env: {
+                                                       fileName: 'hot-mog-0108-bs1271.env'
+                                               },
+                                               errors: [
+                                                       {
+                                                               'level': 'WARNING',
+                                                               'message': 'Port not bind to any NOVA Server, Resource Id [sm02_port_2]'
+                                                       },
+                                                       {
+                                                               'level': 'WARNING',
+                                                               'message': 'Port not bind to any NOVA Server, Resource Id [sm01_port_2]'
+                                                       }
+                                               ]
+                                       }
+                               ]
+                       }
+               };
+
+               const currentSoftwareProduct = {
+                       name: 'VSp',
+                       description: 'dfdf',
+                       vendorName: 'V1',
+                       vendorId: '97B3E2525E0640ACACF87CE6B3753E80',
+                       category: 'resourceNewCategory.application l4+',
+                       subCategory: 'resourceNewCategory.application l4+.database',
+                       id: 'D4774719D085414E9D5642D1ACD59D20',
+                       version: '0.10',
+                       viewableVersions: ['0.1', '0.2'],
+                       status: 'Locked',
+                       lockingUser: 'cs0008',
+                       validationData
+               };
+
+
+               const store = storeCreator();
+               deepFreeze(store.getState());
+               deepFreeze(currentSoftwareProduct);
+
+               store.dispatch({
+                       type:actionTypes.SOFTWARE_PRODUCT_LOADED,
+                       response: currentSoftwareProduct
+               });
+
+               expect(store.getState().softwareProduct.softwareProductAttachments.heatValidation.attachmentsTree.children[0].children.length).toBe(1);
+       });
+
        it('onSelectNode & onUnselectNode function check', () => {