Files
twenty/packages/twenty-zapier/src/test/creates/create_company.test.ts
martmull 51a06b3ebd 2052 zapier integration 5 deploy twenty zapier app into the public repository (#2101)
* Add create_company Zap action

* Add testing for that action

* Core review returns
2023-10-18 17:56:40 +02:00

69 lines
2.1 KiB
TypeScript

import App from '../../index';
import { Bundle, createAppTester, tools, ZObject } from 'zapier-platform-core';
import getBundle from '../../utils/getBundle';
import requestDb from '../../utils/requestDb';
const appTester = createAppTester(App);
tools.env.inject;
describe('creates.create_company', () => {
test('should run', async () => {
const bundle = getBundle({
name: 'Company Name',
address: 'Company Address',
domainName: 'Company Domain Name',
linkedinUrl: 'Test linkedinUrl',
xUrl: 'Test xUrl',
annualRecurringRevenue: 100000,
idealCustomerProfile: true,
employees: 25,
});
const result = await appTester(
App.creates.create_company.operation.perform,
bundle,
);
expect(result).toBeDefined();
expect(result.data?.createOneCompany?.id).toBeDefined();
const checkDbResult = await appTester(
(z: ZObject, bundle: Bundle) =>
requestDb(
z,
bundle,
`query findCompany {findUniqueCompany(where: {id: "${result.data.createOneCompany.id}"}){id, annualRecurringRevenue}}`,
),
bundle,
);
expect(checkDbResult.data.findUniqueCompany.annualRecurringRevenue).toEqual(
100000,
);
});
test('should run with not required missing params', async () => {
const bundle = getBundle({
name: 'Company Name',
address: 'Company Address',
domainName: 'Company Domain Name',
linkedinUrl: 'Test linkedinUrl',
xUrl: 'Test xUrl',
idealCustomerProfile: true,
employees: 25,
});
const result = await appTester(
App.creates.create_company.operation.perform,
bundle,
);
expect(result).toBeDefined();
expect(result.data?.createOneCompany?.id).toBeDefined();
const checkDbResult = await appTester(
(z: ZObject, bundle: Bundle) =>
requestDb(
z,
bundle,
`query findCompany {findUniqueCompany(where: {id: "${result.data.createOneCompany.id}"}){id, annualRecurringRevenue}}`,
),
bundle,
);
expect(checkDbResult.data.findUniqueCompany.annualRecurringRevenue).toEqual(
null,
);
});
});