Как правильно проверить загрузку файла через swagger-клиент? - PullRequest
1 голос
/ 24 сентября 2019

Мне нужно написать действительный тест для загрузки файла через swagger клиент, но я не могу понять, что я делаю неправильно или возможные решения

const requestBody = {
      name: 'USUÁRIO TESTE',
      cpf: 'PROCESSO DE TESTE/DEPLOY KAER-MORHEN',
      email: 'POR FAVOR IGNORE ESTE E-MAIL',
      phone: 'OBRIGADO',
      id: 'cj2c3rtea00010epfu0sfdhf7',
      back: tmp.fileSync({ prefix: 'document-', postfix: '.jpg' }).name
    }

return client.apis.documents.sendDocumentsEmail(undefined, {
  requestBody
})
  .should.be.fulfilled()
  .then(({ status, body }) => {
    status.should.be.eql(200)
    body.should.be.Object()
  })

Я также использую Multer в качестве промежуточного ПО,и когда я отправляю файл tmp или создаю файл с помощью fs, он не распознается, и атрибут в конечном итоге рассматривается как строка.Каков был бы самый простой способ отправить действительные данные multipart / form с действительным файлом, используя swagger-client?

/documents/upload:
    x-middlewares:
      - "multer"
    post:
      tags:
        - "documents"
        - "kaermorhen"
      summary: "Upload documents"
      x-swagger-router-controller: "document.controller"
      operationId: "sendDocumentsEmail"  
      requestBody:
        description: "Documents upload"
        required: true
        x-name: "body"
        content:
          multipart/form-data:
            schema:
              type: "object"
              required:
                - "id"
              properties:
                id:
                  type: "string"
                name:
                  type: "string"
                cpf:
                  type: "string"
                email:
                  type: "string"
                phone:
                  type: "string"
                front:
                  type: string
                  format: binary
                back:
                  type: string
                  format: binary
                residence:
                  type: string
                  format: binary
...