Coding Examples

All Generted Objects such as Contact, Case, Leads etc have access to Typed functions that interact with Salesforce.

The following examples use Contact, but equally work with Case, Lead etc. e.g. SalesforceRequests.Case.getObjectById(case.Id)

See the Salesforce Objects API for more information on the available functions.

Create and Get a new Contact

//create-contact.spec.ts
import { expect,test } from '@playwright/test';
import { SalesforceRequests } from '../requests/SalesforceRequests.js';

test(`Create and Retrieve a Salesforce Contact`, async ()) => {

  //Create and Retrieve the Contact in Salesforce
  let contact = await SalesforceRequests.Contact.createAndGetObject(
    {LastName: "Hodge", FirstName: "Janie", Email: "Janie.Hodge@example.com"})

  console.log(`New Salesforce Contact Id: ${contact.Id}`);

  //Playwright Assertion
  expect(contact.id).toBeTruthy();    
});
Run with
npx playwright test create-contact.spec.ts
Results in
Config file: ./config-dev.env
Getting ACCESS TOKEN from Salesforce using Grant Type 'client_credentials'
SALESFORCE_USER_ID:        005QE000008ajoWXYZ
SALESFORCE_SERVICE_URL:    https://data-inspiration-1234.my.salesforce.com
SALESFORCE_API_VERSION:    v63.0


Running 1 test using 1 worker
Config file: ./config-dev.env
[chromium] › tests\create-contact.spec.ts:5:1 › Create and Retrieve a Salesforce Contact
New Salesforce Contact Id: 003QE00000CM2ViYAL
  1 passed (4.5s)

Various ways to Get a Contact Immediately

contact = await SalesforceRequests.Contact.getObjectById(contact.Id)
contact = await SalesforceRequests.Contact.getObjectByField(Contact.Email, email)
contact = await SalesforceRequests.Contact.getObjectByWhere(`email = '${email}'`)

contact = await SalesforceRequests.Contact.getObjectArrayByField(Contact.Email, contact.Email)
contact = await SalesforceRequests.Contact.getObjectArrayByWhere(`email = '${email}'`))[0]

Polling methods to get a Contact when the applicable state occurs

contact = await SalesforceRequests.Contact.getObjectWhenField(Contact.Email, email)
contact = await SalesforceRequests.Contact.getObjectWhenWhere(`email = '${email}'`)

contact = await SalesforceRequests.Contact.getThisObjectWhenField(contact, Contact.Email, contact.Email)
contact = await SalesforceRequests.Contact.getThisObjectWhenFieldNOTNull(contact, Contact.Email)
contact = await SalesforceRequests.Contact.getThisObjectWhenFieldNull(contact, Contact.Fax)
contact = await SalesforceRequests.Contact.getThisObjectWhenFieldNOTEqualsValue(contact, Contact.Email, 'xxx')

’Negative’ checks to ensure a contact does not exist

await SalesforceRequests.Contact.ensureNoObjectExistsById("xxx");
await SalesforceRequests.Contact.ensureNoObjectExistsByField(Contact.Email, 'xxx');
await SalesforceRequests.Contact.ensureNoObjectExistsByWhere(`email = 'xxx'`);

Updating a Contact

contact = await SalesforceRequests.Contact.updateAndGetObject(contact.Id, updateContactData);

Deleting a Contact

await SalesforceRequests.Contact.deleteObjectById(contact.Id);