Exemplo n.º 1
0
      it('should reject address with empty first address line and postcode', async () => {
        const errors = await validator.validate(new ClassFunction('', '', '', '', ''))

        expect(errors.length).to.equal(3)
        expectValidationError(errors, ValidationErrors.FIRST_LINE_REQUIRED)
        expectValidationError(errors, ValidationErrors.CITY_REQUIRED)
        expectValidationError(errors, ValidationErrors.POSTCODE_REQUIRED)
      })
  .post(Paths.totalIncomeOrExpensesCalculation.uri, async (req: express.Request, res: express.Response) => {
    try {
      const incomeExpenseSources: IncomeExpenseSources = IncomeExpenseSources.fromObject(req.body)

      const validator: Validator = new Validator()
      const error: ValidationError[] = await validator.validate(incomeExpenseSources)
      if (error.length > 0) {
        return res.status(HttpStatus.UNPROCESSABLE_ENTITY).send(error)
      }

      const totalMonthlyIncomeExpense = CalculateMonthlyIncomeExpense
        .calculateTotalAmount(incomeExpenseSources.incomeExpenseSources)
      return res.status(HttpStatus.OK).json({
        totalMonthlyIncomeExpense: totalMonthlyIncomeExpense
      })
    } catch (err) {
      return res.status(HttpStatus.UNPROCESSABLE_ENTITY).send(err)
    }
  })
Exemplo n.º 3
0
    return async (req: express.Request, res: express.Response, next: express.NextFunction) => {
      const model: T = modelTypeMapper(removeIllegalCharacters(req.body))

      const errors: ValidationError[] = isValidationEnabledFor(req) ? await validator.validate(model, { groups: validationGroup !== undefined ? [validationGroup] : [] }) : []
      const action: object = req.body.action

      req.body = new Form<T>(model, errors, req.body)
      if (action) {
        req.body.action = action // Workaround to expose action to request handlers
      }

      next()
    }