All files / source/materialsFamily import.js

60% Statements 15/25
50% Branches 4/8
100% Functions 2/2
60% Lines 15/25

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71          1x 1x 1x   1x         1x       1x             1x           1x               1x   1x 1x   1x             1x                   1x       1x          
import MaterialFamilyCreate from './create';
import MaterialFamilyInformation from './information';
import I18n from '../../helpers/i18n';
 
async function validMaterialFamily(materialFamily) {
  let isValid = true;
  let code = '';
  let message = '';
 
  Iif (!materialFamily.code) {
    isValid = false;
    code = 9000;
    message = I18n.t('BEE1171' /* Código deve ser informado ! */);
  } else {
    const existMaterialFamily = await MaterialFamilyInformation.getMaterialFamily({
      code: materialFamily.code,
    });
 
    Iif (existMaterialFamily) {
      isValid = false;
      code = 9001;
      message = I18n.t('BEE1173', { 0: materialFamily.code } /* Codigo %{0} já cadastrado  */);
    }
  }
 
  Iif (!materialFamily.name) {
    isValid = false;
    code = 9002;
    message = I18n.t('BEE1344' /* Descrição deve ser informada */);
  }
 
  return {
    isValid,
    code,
    message,
  };
}
 
async function importMaterialFamilies(materialFamilies, userId) {
  let listMaterialFamiliesErrors = [];
 
  for (const materialFamily of materialFamilies) {
    const valid = await validMaterialFamily(materialFamily);
 
    Iif (!valid.isValid) {
      listMaterialFamiliesErrors.push({
        code: materialFamily.code,
        error: valid.code,
        message: valid.message,
      });
    } else {
      const newMaterialFamily = {
        code: materialFamily.code,
        name: materialFamily.name,
        unitMeasureCode: materialFamily.unitMeasure,
        cuttingPlan: materialFamily.cuttingPlan,
        note: materialFamily.note,
        createdUser: userId,
        updatedUser: userId,
      };
 
      await MaterialFamilyCreate.createMaterialFamily(newMaterialFamily);
    }
  }
 
  return { listMaterialFamiliesErrors };
};
 
export default {
  importMaterialFamilies,
}