All files / platform/modules/media/src/Validators getAddress.js

100% Statements 15/15
100% Branches 4/4
100% Functions 4/4
100% Lines 15/15

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        1x 1x 1x     10x       10x       3x 3x 3x 3x 96x 12x 3x   9x           3x       1x  
'use strict';
/** @typedef {import('@adonisjs/framework/src/Request')} Request */
/** @typedef {import('@adonisjs/framework/src/Response')} Response */
 
const ValidatorAbstract = use('C2C/Abstracts/ValidatorAbstract');
const _ = require('lodash');
const mustache = require('mustache');
class ValidateGetAddress extends ValidatorAbstract {
  get rules() {
    const rules = {
      postCode: `required|number|min:5|max:8`,
    };
 
    return rules;
  }
 
  get messages() {
    const antl = this.ctx.antl;
    let messages = antl.list('validations');
    const attributes = antl.list('attributes');
    messages = _.mapValues(messages, (message) => {
      return (field, validation, args) => {
        if (field === 'postCode' && validation === 'number') {
          return antl.get('errors.postCodeInvalidNumber');
        }
        return mustache.render(message, {
          field: _.get(attributes, field, _.upperFirst(field)),
          argument: args,
        });
      };
    });
    return messages;
  }
}
 
module.exports = ValidateGetAddress;