All files / source/unitsMeasure import.js

100% Statements 25/25
100% Branches 8/8
100% Functions 2/2
100% Lines 25/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 72 73 74            4x 4x 4x   4x 1x 1x 1x   3x       3x 1x 1x 1x             4x 1x 1x 1x     4x               4x   4x 4x   4x 3x           1x               1x       4x            
/* eslint-disable no-restricted-syntax */
import { t } from '../../helpers/i18n';
import UnitMeasureCreate from './create';
import UnitMeasureInformation from './information';
 
async function validUnitMeasure(unitMeasure) {
  let isValid = true;
  let code = '';
  let message = '';
 
  if (!unitMeasure.code) {
    isValid = false;
    code = 9000;
    message = t('BEE1171' /* Código deve ser informado ! */);
  } else {
    const existUnitMeasure = await UnitMeasureInformation.getUnitMeasure({
      code: unitMeasure.code,
    });
 
    if (existUnitMeasure) {
      isValid = false;
      code = 9001;
      message = t(
        'BEE1173',
        { 0: unitMeasure.code } /* Codigo %{0} já cadastrado  */
      );
    }
  }
 
  if (!unitMeasure.name) {
    isValid = false;
    code = 9002;
    message = t('BEE1344' /* Descrição deve ser informada */);
  }
 
  return {
    isValid,
    code,
    message,
  };
}
 
async function importUnitsMeasure(unitsMeasure, userId) {
  const listUnitsMeasureErrors = [];
 
  for (const unitMeasure of unitsMeasure) {
    const valid = await validUnitMeasure(unitMeasure);
 
    if (!valid.isValid) {
      listUnitsMeasureErrors.push({
        code: unitMeasure.code,
        error: valid.code,
        message: valid.message,
      });
    } else {
      const newUnitMeasure = {
        code: unitMeasure.code,
        name: unitMeasure.name,
        note: unitMeasure.note,
        createdUser: userId,
        updatedUser: userId,
      };
 
      await UnitMeasureCreate.createUnitMeasure(newUnitMeasure);
    }
  }
 
  return { listUnitsMeasureErrors };
}
 
export default {
  importUnitsMeasure,
};