Zapier JS条件语句

时间:2018-12-01 00:44:05

标签: javascript authentication try-catch zapier

我对JS不熟悉,试图为zapier编写一个APP。我有一个测试身份验证功能,当发送错误信息时,我不会失败。

这是测试功能:

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网站上测试身份验证时,我希望身份验证失败,并返回"REASON"

我该怎么做?

0 个答案:

没有答案