master-zapier-plan-draft/vendor/zapier-platform/example-apps/resource/test/resources/recipe.js
George Lambert b4150c8250 Milestone 0: import zappier billing, Verae middleware, and Zapier research
Compose-ready workspace: packages/zappier (rate card, portal, Stripe),
packages/verae-zapier-middleware (timestamp + NATS), packages/verae-zapier
(CLI app), vendor/zapier-platform, and research/zapier vendor corpus.

Gate 0 structure checks pass. Product code and research are not yet wired.
2026-09-09 02:37:36 -04:00

77 lines
1.7 KiB
JavaScript

/* globals describe, it */
require('should');
const zapier = require('zapier-platform-core');
const App = require('../../index');
const appTester = zapier.createAppTester(App);
describe('recipe resource', () => {
it('should get an existing recipe', (done) => {
const bundle = {
inputData: {
id: 1,
},
};
appTester(App.resources.recipe.get.operation.perform, bundle)
.then((results) => {
results.name.should.eql('name 1');
results.directions.should.eql('directions 1');
done();
})
.catch(done);
});
it('should list existing recipes', (done) => {
const bundle = {
inputData: {
style: 'style 2',
},
};
appTester(App.resources.recipe.list.operation.perform, bundle)
.then((results) => {
results.length.should.above(0);
const firstRecipe = results[0];
firstRecipe.name.should.eql('name 2');
firstRecipe.directions.should.eql('directions 2');
done();
})
.catch(done);
});
it('should create a new recipe', (done) => {
const bundle = {
inputData: {
name: 'Smith Family Recipe',
directions: '1. Order out :)',
authorId: 1,
},
};
appTester(App.resources.recipe.create.operation.perform, bundle)
.then((results) => {
results.should.have.property('name');
done();
})
.catch(done);
});
it('should find a recipe', (done) => {
const bundle = {
inputData: {
name: 'Smith Family Recipe',
},
};
appTester(App.resources.recipe.search.operation.perform, bundle)
.then((results) => {
results[0].should.have.property('name');
done();
})
.catch(done);
});
});