Zapier JS условное заявление - PullRequest
0 голосов
/ 01 декабря 2018

Я новичок в JS, пытаюсь написать приложение для zapier.У меня есть тестовая функция проверки подлинности, которую я не могу завершить сбоем при отправке неверной информации.

Вот тестовая функция:

require('should');

const zapier = require('zapier-platform-core');

const App = require('../../index');
const appTester = zapier.createAppTester(App);

describe('Triggers - Get Groups', () => {
  zapier.tools.env.inject();

  it('should get an array', done => {
    const bundle = {
      authData: { api_key: process.env.API_KEY },

      inputData: {}
    };

    appTester(App.triggers['getgroup'].operation.perform, bundle)
      .then(results => {
        results.includes('id');
        done();
      })
      .catch(results);
  });
});

Если все прошло успешно, возврат образца должен выглядетькак это:

{"id":1815,"name":"New Contacts","count":2}

Ошибка выглядит следующим образом:

{"RESPONSE":"FAIL","REASON":"Invalid API key"}

Вот функция getgroup:

// Trigger stub created by 'zapier convert'. This is just a stub - you will need to edit!
const { replaceVars } = require('../utils');

const getList = (z, bundle) => {
  let url = 'https://path.to/apisite?action=getGroups&apiKey={{api_key}}';
  url = replaceVars(url, bundle);

  const responsePromise = z.request({ url });
  return responsePromise.then(response => {
    response.throwForStatus();
    return z.JSON.parse(response.content);
  });
};

module.exports = {
  key: 'getgroup',
  noun: 'Getgroup',

  display: {
    label: 'Get Groups',
    description: 'Triggers when loaded to pull groups.',
    hidden: true,
    important: false
  },

  operation: {
    inputFields: [
      {
        key: 'group',
        label: 'Groupget',
        type: 'string',
        required: false
      }
    ],
    outputFields: [
      {
        key: 'count',
        type: 'string'
      },
      {
        key: 'id',
        type: 'string',
        label: 'groupid'
      },
      {
        key: 'name',
        type: 'string',
        label: 'groupname'
      }
    ],
    perform: getList,
    sample: { count: 243, id: 27806, name: 'New Contacts' }
  }
};

Когда я проверяю аутентификацию на Zapier'sвеб-сайте, я хотел бы, чтобы авторизация не прошла, и вернул "REASON"

Как мне это сделать?

...